NetBeans 프로젝트를 대나무로 빌드하고 싶습니다. 대부분은 작동하는 것처럼 보이지만 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 /에서 그들을 recopy 및 다음 "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 2017년 8월 4일
명령 줄에서 구축하는 개미 깨끗한 항아리이 :
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"
그래서 새로운 업데이트 된 질문은 왜 내 워크 스테이션과 동작이 다른 대나무 서버의 빌드인지 아닌지입니다. 종속 항아리가 복사되지 않고 빌드 서버에서 bamboo 서버의 ant 스크립트로 빌드 할 때 vanilla java를 사용해야하는 경우 -jar 옵션을 사용하여 파일을 실행할 수있는 이유는 무엇입니까?
우선, dist 폴더에 아무것도 넣지 않아야합니다. 빌드에만 사용되며 매번 청소됩니다. Colu 당신은 netbeans 프로젝트를 압축하여 모든 사용 가능한 서비스를 통해 공유 할 수 있습니다. 예 : http://dropcanvas.com –
dist 디렉토리에 대한 모범 사례를 따르고 있으며 NetBeans 기본 동작을 사용하여 dist 디렉토리를 지우고 릴리스 jar를 dist 폴더에 복사하는 것이 좋습니다. NetBeans를 처음에는 기본 빌드 스크립트로 사용합니다. 여기 – simgineer
은 내 프로젝트에 대한 링크입니다. https://drive.google.com/open?id=0B5FRf3pjR6UBQmVRY1B4QlB4a2M – simgineer