我在Maven项目中有两个类,它们包含相同的代码(除了名称)。代码稍后将基于csv文件使用Javassist创建一个新类。
第一个
CsvParser
src/main/java/csvParser
包裹第二个
TestCsvParser
放置在
src/test/java/csvParser
包裹在两个包中,都是同一个文件
assistant.csv
已放置。
当我从
main
CsvParser公司
java.lang.NullPointerException
但是当我跑步的时候
测试CSVParser
,放置在
test
目录相同的代码可以正常工作。
为什么会这样?(或者我只是没有看到什么?;)
CsvParser公司
:
package csvParser;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class CsvParser {
public static void main(String[] args) throws IOException
{
createClass("/assistant.csv");
}
/**
* Create a class from a csv-file.
*/
private static void createClass(String input) throws IOException {
try(BufferedReader stream = new BufferedReader(new InputStreamReader(
CsvParser.class.getResourceAsStream(input))))
{
// Create class based on csv-file.
}
}
}
测试CSVParser
:
package csvParser;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class TestCsvParser {
public static void main(String[] args) throws IOException
{
createClass("/assistant.csv");
}
/**
* Create a class from a csv-file.
*/
private static void createClass(String input) throws IOException {
try(BufferedReader stream = new BufferedReader(new InputStreamReader(
TestCsvParser.class.getResourceAsStream(input))))
{
// Create class based on csv-file.
}
}
}
例外情况
Exception in thread "main" java.lang.NullPointerException
at java.io.Reader.<init>(Reader.java:78)
at java.io.InputStreamReader.<init>(InputStreamReader.java:72)
at csvParser.CsvParser.createClass(CsvParser.java:19)
at csvParser.CsvParser.main(CsvParser.java:11)
我相信这个问题不是像这样的问题的重复
What is a NullPointerException
因为:
这个
NullPointerException
target
目录
谢谢你的时间!