gpt4 book ai didi

java - 是否可以针对不同版本重新编译jar?

转载 作者:行者123 更新时间:2023-12-01 16:55:18 25 4
gpt4 key购买 nike

我想在我的 Android 应用程序中使用一个使用 Maven 编译的 jar。问题是该 jar 是针对 1.8 Java 编译的,而 Android 需要 1.7 或更低版本。

我有 jar 文件和源文件。下面您可以看到该库的源文件目录:

C:.
| pom.xml
| sonar-project.properties
|
+---.sonar
| \---.sonartmp
| \---caches
+---src
| +---main
| | +---java
| | | \---(folder with source java files)
| | |
| | \---resources
| | logback.xml
| |
| \---test
| \---(folder with java files)
|
\---target
| OLDJAR.jar
|
+---classes
| | .netbeans_automatic_build
| | logback.xml
| |
| \---(folder with class files)
|
+---generated-sources
| +---annotations
| \---test-annotations
+---javadoc-bundle-options
| javadoc-options-javadoc-resources.xml
| package-list
|
+---maven-archiver
| pom.properties
|
+---site
| \---(folder with Htmls)
|
\---test-classes
| .netbeans_automatic_build
|
\---(class files)

由于我是 Maven 新手,因此我非常感谢这里的一些帮助。我如何制作一个针对这次 1.7 版本的新 jar?

我已将 pom.xml 文件修改为目标 1.7:

    <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>

我想知道将其重新编译成 jar 的正确方法是什么。我试过mvn clean install 但我遇到了一些测试失败。我错过了什么吗?

编辑:当我尝试 mvn clean install 时,出现以下错误:

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 8.677 s
[INFO] Finished at: 2015-11-23T14:20:25+02:00
[INFO] Final Memory: 23M/400M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12:test (default-test) on project Project: There are test failures.
[ERROR]
[ERROR] Please refer to surefire-reports for the individual test results.
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

谢谢..

最佳答案

如果测试失败,您应该查找原因。源代码中可能存在 Java 8 中使用的、Java 7 中不存在的功能,例如 lambda 表达式、流、新的 DateTime api 等。

您始终可以尝试编译源代码而不运行测试,如此处所述 Maven - Skipping tests但我不推荐它。

关于java - 是否可以针对不同版本重新编译jar?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33870564/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com