NetBeansプロジェクトをbambooでビルドしたいと考えています。そのほとんどは機能しているようですが、NetBeansをビルドするときにできるようにプロジェクトを立ち上げることはできません。NetBeans Antビルドをビルドサーバーに移植する方法(Atlassian Bamboo)
私はnetbeansをビルドすると(デフォルトのantビルドで)、自分の依存するライブラリをdist/lib/commons-math3-3.6.1.jarというディレクトリに貼り付け、私のjarファイルを作成します:dist/MyJar.jar 。私は私の瓶を実行することができます
java -jar MyJar.jar
それは私の依存するライブラリを見つけるでしょう。しかし、私が竹で作ったときには、私のライブラリがdist/lib /にコピーされていないことに気がついたことが一つあります。しかし、彼らは私のプロジェクトの根本にあるので、私は単に先に進み、私の/ libs/to/dist/lib /からそれらを再コピーし、 "java -jar MyJar.jar"コマンドを試しますが、エラー:アリとアトラシアン竹で知識を持つ人から
[email protected]:~dist/$ java -jar MyJar.jar
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: org/apache/commons/math3/stat/descriptive/moment/StandardDeviation
at readnthvalue.App.<clinit>(App.java:26)
at readnthvalue.MainFrame.<init>(MainFrame.java:31)
at readnthvalue.MainFrame.lambda$main$0(MainFrame.java:365)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.math3.stat.descriptive.moment.StandardDeviation
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 17 more
任意の考えやアドバイスは大歓迎です。
md5sumは、作業用のjarファイルとbambooファイルで作成されたファイルとは異なります。
私はコマンドを使用します。私は竹の上に私を得ることに気づいた
UPDATE 2017年8月4日
コマンドラインからビルドするためのAntきれいな瓶をこの:
build 04-Aug-2017 14:02:51 -do-jar-jar:
build 04-Aug-2017 14:02:51 [j2seproject1:jar] Building jar: /home/filtec/bamboo-home/xml-data/build-dir/AUR-ATP-JOB1/dist/auratec-helper.jar
build 04-Aug-2017 14:02:51 [echo] To run this application from the command line without Ant, try:
build 04-Aug-2017 14:02:51 [echo] /home/filtec/jdk1.8.0_65/jre/bin/java -cp /home/filtec/bamboo-home/xml-data/build-dir/AUR-ATP-JOB1/libs/jfreechart-1.0.19.jar:/home/filtec/bamboo-home/xml-data/build-dir/AUR-ATP-JOB1/libs/jcommon-1.0.23.jar:/home/filtec/bamboo-home/xml-data/build-dir/AUR-ATP-JOB1/libs/commons-math3-3.6.1.jar:/home/filtec/bamboo-home/xml-data/build-dir/AUR-ATP-JOB1/libs/jSerialComm-1.3.11.jar:/home/filtec/bamboo-home/xml-data/build-dir/AUR-ATP-JOB1/dist/auratec-helper.jar filtec.auratec.MainFrame
が、 NetBeansでこの出力が得られます:
Building jar: /home/james/NetBeansProjects/auratec-helper/dist/auratec-helper.jar
To run this application from the command line without Ant, try:
java -jar "/home/james/NetBeansProjects/auratec-helper/dist/auratec-helper.jar"
だから私の新しい更新された質問は、なぜ私のワークステーションとは違う動作の竹サーバー上のビルドですか?従属jarファイルはコピーされません。なぜビルドサーバー上でbambooサーバーのantスクリプトからビルドするときにvanilla javaを使用する必要があるのか、-jarオプションを使用してファイルを実行できます。
まず、distフォルダには何も置かないでください。ビルド専用で、毎回きれいになります。あなたはネットビーンズプロジェクトをパックして、利用可能なサービスを介してアーカイブし共有することができます。 ex:http://dropcanvas.com –
おそらくdistディレクトリのベストプラクティスに従っていて、NetBeansのデフォルトの動作を使ってdistディレクトリを消去し、リリースjarをdistフォルダにコピーしています。 NetBeansは、もともとデフォルトのビルドスクリプトを使ってNetBeansを実行しています。 – simgineer
ここに私のプロジェクトへのリンクがあります:https://drive.google.com/open?id=0B5FRf3pjR6UBQmVRY1B4QlB4a2M – simgineer