ant 도구를 사용하여 Jenkins의 테스트 (junit) 캠페인을 실행하는 동안 런타임시 예외가 있습니다. java.util.MissingResourceException : 기본 이름을 com.mainpackage.V_45_4_3.view.translation.Translation, 로케일 ko 페이지는개미 - Java 프로젝트 - 런타임에 .properties가있는 런타임에 예외가 발생했습니다.
Translation_en_US.properties 해당 디렉토리에 존재하고 경로/클래스 패스 문제입니다 것 같습니다.
이것은 개미 빌드 도구를 사용할 때만 발생합니다. 이클립스에서 모든 것이 잘 동작한다. 나는 개미가 사용하는 .xml 파일을 붙여 넣을 수 있습니다 :
<?xml version="1.0" encoding="UTF-8"?>
<!-- -->
<property name="root.dir" location="." />
<property name="src.dir" location="${root.dir}/src" />
<property name="bin.dir" location="${root.dir}/bin" />
<property name="lib.dir" location="${root.dir}/lib" />
<property name="local.tests.dir" location="C:/NEMTESTS" />
<property name="test.src.dir" location="${root.dir}/tests" />
<property name="test.bin.dir" location="${local.tests.dir}/bin" />
<property name="javaClasspath" value="
${root.dir};
${bin.dir};
${lib.dir}/AdventNetSnmp.jar;
${lib.dir}/AdventNetLogging.jar;
${lib.dir}/ranabFtp.jar;
${lib.dir}/castor-1.2.jar;
${lib.dir}/synthetica.jar;
${lib.dir}/alu_LAF.jar;
${lib.dir}/jbasiccomp_java2.jar;
${lib.dir}/jnavapi_java2.jar;
${lib.dir}/jsch-0.1.50.jar;
${lib.dir}/j2ssh-daemon-0.3.1.jar;
${lib.dir}/j2ssh-core-0.3.1.jar;
${lib.dir}/j2ssh-common-0.3.1.jar;
${lib.dir}/j2ssh-core-0.2.9.jar;
${lib.dir}/commons-io-1.4.jar;
${lib.dir}/tar.jar;
${lib.dir}/maverick-debug-all.jar;
${lib.dir}/maverick-sshd-debug-no-j2ssh.jar;
${lib.dir}/fest-assert-1.3.jar;
${lib.dir}/fest-reflect-1.2.jar;
${lib.dir}/fest-swing-1.2.jar;
${lib.dir}/fest-util-1.1.4.jar;
${lib.dir}/fest-swing-junit-1.2.jar;
${lib.dir}/fest-swing-junit-4.5-1.2.jar;
${lib.dir}/jcip-annotations-1.0.jar;
${lib.dir}/junit-4.8.2.jar;
${lib.dir}/pmd-4.2.5.jar;
${lib.dir}/asm-3.1.jar;
${lib.dir}/jaxen-1.1.1
${lib.dir}/log4j-java1.1.jar;
${lib.dir}/commons-logging-1.1.jar" />
<target name="test" depends="prepare, test-compile, run-tests, finish-errors, finish" />
<target name="prepare">
<delete dir="${test.bin.dir}"/>
<mkdir dir="${test.bin.dir}" />
</target>
<target name="test-compile" description="Compile Java tests">
<javac destdir="${bin.dir}" debug="false" optimize="yes" fork="yes" includeantruntime="false" >
<src refid="test-src-path" />
<classpath>
<path refid="test-lib-path" />
<path refid="run-classpath" />
</classpath>
</javac>
</target>
<target name="run-tests" description="Run GUI tests">
<junit fork="no" haltonfailure="no" haltonerror="no" errorproperty="test.failed" failureproperty="test.failed" printsummary="no" showoutput="yes">
<jvmarg value="-Xmx1024m" />
<classpath>
<path refid="test-lib-path" />
<path refid="run-classpath" />
</classpath>
<formatter classname="nem.utils.OneLinerFormatter" usefile="false" />
<formatter type="xml" />
<test name="nem.AllTests" todir="${test.bin.dir}" />
</junit>
<junitreport todir="${local.tests.dir}">
<fileset dir="${local.tests.dir}" >
<include name="TEST-*.xml" />
</fileset>
<report todir="${local.tests.dir}" format="frames"/>
</junitreport>
</target>
<target name="finish-errors" if="test.failed">
<echo>GUI tests failed. Check logs in workspace for details</echo>
</target>
<target name="finish" unless="test.failed">
<echo>NEM is ok. Is it ...?</echo>
</target>
<path id="run-classpath">
<pathelement location="${bin.dir}" />
<path refid="test-lib-path" />
</path>
<path id="test-src-path">
<pathelement location="${test.src.dir}" />
</path>
<path id="test-lib-path">
<fileset dir="${lib.dir}">
<include name="**/*.jar" />
</fileset>
</path>
<path id="test-run-classpath">
<pathelement location="${test.bin.dir}" />
<path refid="test-lib-path" />
</path>
편집 :
글쎄, 난 모든 것을 내가있어 이클립스에서 잘 작동 말한다 JUnit (Eclipse 통합)을 사용하여 테스트를 시작하고 실행해야한다고 말합니다.
오류는 명령 줄에서 ant -f .xml을 실행할 때도 나타납니다. 그건 같은거야.
prepare:
[delete] Deleting directory C:\NEMTESTS\bin
[mkdir] Created dir: C:\NEMTESTS\bin
test-compile:
run-tests:
[junit]
[junit] ----------------------------------------------------------
[junit] Testsuite: nem.AllTests
[junit] java.util.MissingResourceException: Can't find bundle for base name mainpackage.rlr14_01.V_45_4_3.view.translation.Translation, locale en_US
[junit] at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1499)
[junit] at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1322)
[junit] at java.util.ResourceBundle.getBundle(ResourceBundle.java:795)
[junit] at mainpackage.base.view.translator.Translator.createTranslation(Translator.java:125)
[junit] at mainpackage.base.view.translator.Translator.<init>(Translator.java:31)
[junit] at mainpackage.base.view.translator.TranslatorFactory.getTranslator(TranslatorFactory.java:116)
[junit] at mainpackage.base.manager.BsManager.setMibVersion(BsManager.java:1469)
[junit] at mainpackage.base.action.ConnectAction.action(ConnectAction.java:314)
[junit] at mainpackage.base.action.AbstractAction.run(AbstractAction.java:164)
[junit] at java.lang.Thread.run(Thread.java:744)
[junit] mainpackage.base.view.translator.exception.TranslationException: Cannot load translation for locale en_US and MIB version #R_LR14_01_L#V_45.4.3; will use locale en_US and no MIB version.
[junit] at mainpackage.base.view.translator.Translator.createTranslation(Translator.java:163)
[junit] at mainpackage.base.view.translator.Translator.<init>(Translator.java:31)
[junit] at mainpackage.base.view.translator.TranslatorFactory.getTranslator(TranslatorFactory.java:116)
[junit] at mainpackage.base.manager.BsManager.setMibVersion(BsManager.java:1469)
[junit] at mainpackage.base.action.ConnectAction.action(ConnectAction.java:314)
[junit] at mainpackage.base.action.AbstractAction.run(AbstractAction.java:164)
[junit] at java.lang.Thread.run(Thread.java:744)
[junit] java.util.MissingResourceException: Can't find bundle for base name mainpackage.rlr14_01.V_45_4_3.view.translation.Translation, locale en_US
[junit] at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1499)
[junit] at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1322)
[junit] at java.util.ResourceBundle.getBundle(ResourceBundle.java:795)
[junit] at mainpackage.base.view.translator.Translator.createTranslation(Translator.java:125)
[junit] at mainpackage.base.view.translator.Translator.<init>(Translator.java:31)
[junit] at mainpackage.base.view.translator.TranslatorFactory.getTranslator(TranslatorFactory.java:120)
[junit] at mainpackage.base.manager.BsManager.setMibVersion(BsManager.java:1469)
[junit] at mainpackage.base.action.ConnectAction.action(ConnectAction.java:314)
[junit] at mainpackage.base.action.AbstractAction.run(AbstractAction.java:164)
[junit] at java.lang.Thread.run(Thread.java:744)
[junit] Exception in thread "ConnectAction" java.lang.NullPointerException
[junit] at mainpackage.base.action.AbstractAction.run(AbstractAction.java:174)
[junit] at java.lang.Thread.run(Thread.java:744)
Build was aborted
우리에게 조금 더 상황을주십시오 :
은 아마 당신은 뭔가를해야합니다. 어떤 대상을 실행합니까? 그리고 오류가있는 대상은 무엇입니까? Jenkins에서 실행되는 동안에 만 오류가 나타나는지 또는 명령 줄에서 Ant를 실행하여 재현 할 수 있습니까? 전체 스택 추적을 게시 할 수 있습니까? "이클립스에서 모든 것이 잘 작동한다"정확히 무엇을 의미 하는가? Eclipse에서 Ant 태스크를 실행합니까? – vanje
원래 게시물을 편집했습니다. –