2014-07-15 4 views
2

나는 현재 install4j 4.2.3가 설치되어, 우리는 예는, JDK 7 우리의 패키지는 UnsupportedClassVersionException에 대한 오류와 함께 실패 빌드에 우리의 프로젝트를 업그레이드하려는 :install4j 4.x를 사용하여 JDK7 기반 응용 프로그램을 번들로 사용할 수 있습니까?

[install4j] java.lang.UnsupportedClassVersionError: com/ourcompany/product/installer/action/FindRelatedInstallationsAction : Unsupported major.minor version 51.0 
[install4j]  at java.lang.ClassLoader.defineClass1(Native Method) 
[install4j]  at java.lang.ClassLoader.defineClass(ClassLoader.java:643) 
[install4j]  at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 
[install4j]  at java.net.URLClassLoader.defineClass(URLClassLoader.java:277) 
[install4j]  at java.net.URLClassLoader.access$000(URLClassLoader.java:73) 
[install4j]  at java.net.URLClassLoader$1.run(URLClassLoader.java:212) 
[install4j]  at java.security.AccessController.doPrivileged(Native Method) 
[install4j]  at java.net.URLClassLoader.findClass(URLClassLoader.java:205) 
[install4j]  at java.lang.ClassLoader.loadClass(ClassLoader.java:323) 
[install4j]  at java.lang.ClassLoader.loadClass(ClassLoader.java:268) 
[install4j]  at java.lang.Class.forName0(Native Method) 
[install4j]  at java.lang.Class.forName(Class.java:270) 
[install4j]  at com.sun.beans.finder.ClassFinder.findClass(ClassFinder.java:102) 
[install4j]  at com.sun.beans.finder.ClassFinder.resolveClass(ClassFinder.java:169) 
[install4j]  at com.sun.beans.ObjectHandler.classForName2(ObjectHandler.java:214) 
[install4j]  at com.sun.beans.ObjectHandler.startElement(ObjectHandler.java:248) 
[install4j]  at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:459) 
[install4j]  at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:182) 
[install4j]  at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1327) 
[install4j]  at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2739) 
[install4j]  at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:625) 
[install4j]  at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:489) 
[install4j]  at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:828) 
[install4j]  at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:757) 
[install4j]  at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:133) 
[install4j]  at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1211) 
[install4j]  at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:551) 
[install4j]  at javax.xml.parsers.SAXParser.parse(SAXParser.java:361) 
[install4j]  at javax.xml.parsers.SAXParser.parse(SAXParser.java:139) 
[install4j]  at java.beans.XMLDecoder$1.run(XMLDecoder.java:265) 
[install4j]  at java.beans.XMLDecoder$1.run(XMLDecoder.java:259) 
[install4j]  at java.security.AccessController.doPrivileged(Native Method) 
[install4j]  at java.beans.XMLDecoder.getHandler(XMLDecoder.java:259) 
[install4j]  at java.beans.XMLDecoder.readObject(XMLDecoder.java:223) 
[install4j]  at com.install4j.A.A.L.å(ejt:772) 
[install4j]  at com.install4j.C.F.F.Y(ejt:3262) 
[install4j]  at com.install4j.C.F.F._(ejt:2484) 
[install4j]  at com.install4j.C.F.F.b(ejt:742) 
[install4j]  at com.install4j.C.F.F.o(ejt:3446) 
[install4j]  at com.install4j.C.F.F.G(ejt:2571) 
[install4j]  at com.install4j.C.F.F.J(ejt:1755) 
[install4j]  at com.install4j.C.F.F.I(ejt:1966) 
[install4j]  at com.install4j.C.F.F.l(ejt:93) 
[install4j]  at com.install4j.C.F.F.M(ejt:640) 
[install4j]  at com.install4j.C.C.H.A(ejt:2000) 
[install4j]  at com.install4j.C.A.p(ejt:2111) 
[install4j]  at com.install4j.C.A.A(ejt:712) 
[install4j]  at com.install4j.C.B.È(ejt:1736) 
[install4j]  at com.install4j.C.B.Æ(ejt:3290) 
[install4j]  at com.install4j.C.B.I(ejt:659) 
[install4j]  at com.install4j.Install4JApplication.ř(ejt:3031) 
[install4j]  at com.A.L.Ň(ejt:2517) 
[install4j]  at com.install4j.Install4JApplication.main(ejt:3481) 
[install4j]  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
[install4j]  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
[install4j]  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
[install4j]  at java.lang.reflect.Method.invoke(Method.java:622) 
[install4j]  at com.exe4j.runtime.LauncherEngine.launch(Unknown Source) 
[install4j]  at com.install4j.runtime.Launcher.main(Unknown Source) 

나는 또한 최신으로 시도 4.x (4.2.8로 표시)와 같은 오류가 발생했습니다.

가 나는 관련이 있는지 확실하지 않습니다 만, 우리의 프로젝트 파일은 1.7의 최소 자바 버전을 지정하기 위해 업데이트되었습니다 : install4j 5.x를 가진

<application 
    name="${compiler:PRODUCTNAME} Server" 
    distributionSourceDir="" 
    applicationId="xxxx" 
    mediaDir="../../results" mediaFilePattern="${compiler:sys.shortName}_${compiler:sys.version}_${compiler:sys.platform}" 
    compression="6" 
    lzmaCompression="false" 
    pack200Compression="false" 
    excludeSignedFromPacking="true" 
    keepModificationTimes="false" 
    missingFilesStrategy="warn" 
    shortName="product_server" 
    publisher="${compiler:COMPANYNAME}" 
    publisherWeb="http://ourcompany.com" 
    version="0.0.0" 
    allPathsRelative="true" 
    backupOnSave="false" 
    autoSave="false" 
    convertDotsToUnderscores="true" 
    macSignature="????" 
    installerName="" 
    javaMinVersion="1.7" 
    javaMaxVersion="" 
    allowBetaVM="false" 
    jdkMode="runtimeJre" 
    jdkName=""> 

내가 테스트 한 일을하고 빌드를 실행 않는다 ,하지만 내가 누락 된 단순한 것이 있다면 4.x로 머무르게 할 것인가를 확인하기로했다. 불행히도 관련 용어를 검색 할 때 Google에서별로 도움이되지 않는 것 같습니다. 미리 감사드립니다! :)

+1

제품을 모르지만 오류는 해당 단계를 수행 할 때 1.7을 사용하고 있지 않음을 의미합니다. 이 대답이 당신에게 의미가 있습니까? http://stackoverflow.com/a/18129625 –

+0

아, 그 옵션을 발견하지 못했습니다; 슬프게도 jdk 7u60을 구성한 후에는 특별히 동일한 오류가 발생합니다. 또한 기본 java의 -version, JAVA_HOME 등을 확인했으며 모두 JDK를 가리키고 있습니다. –

+0

어, * same * jdk. 약간의 사케가이 문제 해결 경험을 훨씬 좋게 만들지는 모르지만 나는 인정해야합니다. –

답변

0

install4j 4.x를 사용하는 경우 사용자 정의 코드를 -target 1.6.으로 컴파일해야합니다. Java 6에서 install4j 컴파일러가 실행되기 때문입니다.