2014-07-15 40 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最低的Java版本:與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

呃,*相同* jdk。儘管有些清酒可能會使這種故障排除體驗更加美好,但我必須承認。 –

回答

0

使用install4j 4.x時,必須使用-target 1.6.編譯自定義代碼。這是因爲install4j編譯器正在運行Java 6.

相關問題