2016-07-23 5 views
1

Я хочу, чтобы проект моего NetBeans строился в бамбуке. Большинство из них, похоже, работают, но я не могу запускать свой проект, как я могу, когда я создаю NetBeans.Как переносить сборку NetBeans в сервер сборки (Atlassian Bamboo)

Когда я строю в netbeans, он (по умолчанию сборка муравьев) вставляет мои зависимые библиотеки в каталог с именем dist/lib/commons-math3-3.6.1.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 отличается от рабочей банки и той, которая была построена с помощью бамбука.

Я использую команду: муравей чистую банку, чтобы построить из командной строки

UPDATE 8-04-2017

Я заметил, что на бамбуковых я получаю это:

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 для запуска файлов, где, как и на сервере сборки, мне нужно использовать vanilla java для запуска при создании из скрипта ant на бамбуковом сервере.

+0

Прежде всего, вы не должны вставлять в папку dist что-нибудь. Это только для сборки и будет чистить каждый раз. Colud вы собираете проект netbeans для архивирования и обмена им через любой доступный сервис. ex: http://dropcanvas.com –

+0

Я, вероятно, придерживаюсь наилучшей практики для дистрибутива и использую поведение по умолчанию NetBeans, очищающее чистые и копирующие диски дистрибутива в папке dist. BTW его NetBeans, который изначально делает это со своим сценарием сборки по умолчанию. – simgineer

+0

вот ссылка на мой проект: https://drive.google.com/open?id=0B5FRf3pjR6UBQmVRY1B4QlB4a2M – simgineer

ответ

0

Это была боль, чтобы понять. В принципе, copylibstask.jar должен быть доступен для муравья на бамбуке, но поскольку NetBeans не установлен на сервере сборки, нам нужно ссылаться на него вручную. Я разместил копию в /libs/org-netbeans-modules-java-j2seproject-copylibstask.jar и ссылаюсь на нее в файле project.properties.

# this is needed for the ant build 
libs.CopyLibs.classpath=libs/org-netbeans-modules-java-j2seproject-copylibstask.jar 

Библиотеки теперь копируются, а банк уже выполняется.

 Смежные вопросы

  • Нет связанных вопросов^_^