2011-06-17 7 views
0

Javaコードを介してAntビルドを実行したい。私は次のコードを使用して、エラーが発生しました。Javaコードを通じてantをビルドする

Ant helper = new Ant(); 
helper.setTarget("build_new"); 
helper.setAntfile("build_new.xml"); 
helper.execute(); 

エラー:そのもAntのビルドを実行するために使用さ

 
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException 
    at org.apache.tools.ant.taskdefs.Ant.init(Ant.java:125) 
    at org.apache.tools.ant.taskdefs.Ant.reinit(Ant.java:139) 
    at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:292) 
    at com.demo.test.JavaSamp$4.actionPerformed(JavaSamp.java:216) 
    at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) 
    at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source) 
    at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) 
    at javax.swing.DefaultButtonModel.setPressed(Unknown Source) 
    at javax.swing.AbstractButton.doClick(Unknown Source) 
    at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source) 
    at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source) 
    at java.awt.Component.processMouseEvent(Unknown Source) 
    at javax.swing.JComponent.processMouseEvent(Unknown Source) 
    at java.awt.Component.processEvent(Unknown Source) 
    at java.awt.Container.processEvent(Unknown Source) 
    at java.awt.Component.dispatchEventImpl(Unknown Source) 
    at java.awt.Container.dispatchEventImpl(Unknown Source) 
    at java.awt.Component.dispatchEvent(Unknown Source) 
    at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) 
    at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) 
    at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) 
    at java.awt.Container.dispatchEventImpl(Unknown Source) 
    at java.awt.Window.dispatchEventImpl(Unknown Source) 
    at java.awt.Component.dispatchEvent(Unknown Source) 
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source) 
    at java.awt.EventQueue.access$000(Unknown Source) 
    at java.awt.EventQueue$1.run(Unknown Source) 
    at java.awt.EventQueue$1.run(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source) 
    at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source) 
    at java.awt.EventQueue$2.run(Unknown Source) 
    at java.awt.EventQueue$2.run(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source) 
    at java.awt.EventQueue.dispatchEvent(Unknown Source) 
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) 
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) 
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) 
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source) 
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source) 
    at java.awt.EventDispatchThread.run(Unknown Source) 

任意の提案plsを

+0

は34の質問をしましたが、まだコードと例外を構成していません。 –

+0

Ant.javaのソースコードを検索します。 125行目に移動します。そこで何が起こるかを確認してください。私の推測はどういうわけかあなたのターゲットが存在しないか、antファイルへのパスが間違っています。 – I82Much

+0

あなたが使用しているAntのバージョンは何ですか?バージョン情報なしで何が起こっているのかをsrcからチェックするのは難しいです:( – Kaitsu

答えて

0

File buildFile = new File("build.xml"); 
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(p.getDefaultTarget()); 
+0

10それは私のためには機能しません。 – Manikandan