0
    Exception in thread "main" java.lang.ExceptionInInitializerError
            at org.apache.tools.ant.util.FileUtils.<clinit>(FileUtils.java:63)
            at org.apache.tools.ant.Project.<clinit>(Project.java:131)
            at Pv.plugin_execute(Pv.java:140)
            at Pv.main(Pv.java:194)
    Caused by: java.lang.NullPointerException
            at org.apache.tools.ant.taskdefs.condition.Os.<clinit>(Os.java:31)
            ... 4 more

これは、Javaファイルからantターゲットを実行するためのコードです。すべてのパラメータを設定しました。コードはLinux環境で実行されます。

File buildFile = new File(bDir + "/" + pBDir + "/"+ atBFile);
Project p = new Project();
p.setUserProperty("ant.file", buildFile.getAbsolutePath());
p.init();
ProjectHelper helper = ProjectHelper.getProjectHelper();
p.addReference("ant.projectHelper", helper);
helper.parse(p, buildFile);
p.executeTarget(target);

誰かがこれを手伝ってくれますか?昨日は正常に動作していましたが、今日はこの例外が発生しました...

4

2 に答える 2

0

ソースコードを考えると、何らかの理由で「os.name」のシステムプロパティが設定されていないようです。なぜ設定されていないのかを調べる必要がありますが、必要に応じてコマンドラインからいつでも手動で指定できます。

于 2012-10-12T07:16:09.120 に答える
0

問題は、System.setProperties()を使用していたため、既存のプロパティのリストが削除され、新しいリストが作成されたことです。ただし、System.property()は、プロパティを既存のリストに追加します。

于 2013-12-09T10:31:01.943 に答える