Maven Surefire插件丢失了吗?

问题描述 投票:1回答:3

所以我有一个问题,我正在按照教程Working with Custom Content types in Alfresco但我在尝试安装程序时遇到了maven问题。它告诉我maven surefire插件存在问题,如下所示:

    C:\Users\admin\Desktop\tutorial_home\content-tutorial-repo>mvn install
Java HotSpot(TM) Client VM warning: ignoring option MaxPermSize=512m; support was removed in 8.0
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building content-tutorial-repo Repository AMP project 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
Downloading: https://artifacts.alfresco.com/nexus/content/groups/public/org/apache/maven/plugins/maven-deploy-plugin/maven-metadata.xml
Downloading: https://oss.sonatype.org/content/repositories/snapshots/org/apache/maven/plugins/maven-deploy-plugin/maven-metadata.xml
Downloading: https://artifacts.alfresco.com/nexus/content/groups/public-snapshots/org/apache/maven/plugins/maven-deploy-plugin/maven-metadata.xml
Downloading: http://oss.sonatype.org/content/groups/public/org/apache/maven/plugins/maven-deploy-plugin/maven-metadata.xml
[INFO]
[INFO] --- maven-enforcer-plugin:1.4.1:enforce (enforce-sdk-requirements) @ content-tutorial-repo ---
[INFO]
[INFO] --- alfresco-maven-plugin:2.2.0:set-version (default-set-version) @ content-tutorial-repo ---
[INFO] Removed -SNAPSHOT suffix from version - 1.0
[INFO] Added timestamp to version - 1.0.1704260956
[INFO]
[INFO] --- build-helper-maven-plugin:1.10:add-test-resource (add-env-test-properties) @ content-tutorial-repo ---
[INFO]
[INFO] --- maven-resources-plugin:2.7:resources (default-resources) @ content-tutorial-repo ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory C:\Users\admin\Desktop\tutorial_home\content-tutorial-repo\src\main\resources
[INFO] Copying 17 resources to C:\Users\admin\Desktop\tutorial_home\content-tutorial-repo\target/amp
[INFO]
[INFO] --- alfresco-maven-plugin:2.2.0:refresh (refresh-webscripts-repo-and-share) @ content-tutorial-repo ---
[WARNING] Connection failed to localhost:8080, null webapp refresh aborted
[INFO]
[INFO] --- maven-compiler-plugin:3.5:compile (default-compile) @ content-tutorial-repo ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-resources-plugin:2.7:testResources (default-testResources) @ content-tutorial-repo ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 2 resources
[INFO] Copying 1 resource
[INFO]
[INFO] --- maven-resources-plugin:2.7:copy-resources (add-module-properties-to-test-classpath) @ content-tutorial-repo ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 1 resource to alfresco/module/content-tutorial-repo
[INFO]
[INFO] --- maven-resources-plugin:2.7:copy-resources (add-module-config-to-test-classpath) @ content-tutorial-repo ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 12 resources
[INFO]
[INFO] --- maven-compiler-plugin:3.5:testCompile (default-testCompile) @ content-tutorial-repo ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-surefire-plugin:2.19.1:test (default-test) @ content-tutorial-repo ---

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Error occurred during initialization of VM
Could not reserve enough space for 1560576KB object heap
Java HotSpot(TM) Client VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0

Results :

Tests run: 0, Failures: 0, Errors: 0, Skipped: 0

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 12.226 s
[INFO] Finished at: 2017-04-26T09:56:10+02:00
[INFO] Final Memory: 18M/44M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.19.1:test (default-test) on project content-tutorial-repo: Execution default-test of goal org.apache.maven.plugins:maven-surefire-plugin:2.19.1:test failed: The forked VM terminated without properly saying goodbye. VM crash or System.exit called?
[ERROR] Command was cmd.exe /X /C ""C:\Program Files (x86)\Java\jdk1.8.0_121\jre\bin\java" -Xms256m -Xmx1524m -XX:MaxPermSize=256m -Duser.language=en -jar C:\Users\admin\Desktop\tutorial_home\content-tutorial-repo\target\surefire\surefirebooter6817806541714880563.jar C:\Users\admin\Desktop\tutorial_home\content-tutorial-repo\target\surefire\surefire2049933145142894733tmp C:\Users\admin\Desktop\tutorial_home\content-tutorial-repo\target\surefire\surefire_03570301801919192406tmp"
[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/PluginExecutionException

问题是我没有这样的directory in my project,你可以看到。那么我在哪里找到它或用maven生成它?

谢谢您的帮助 !

maven alfresco maven-surefire-plugin alfresco-maven
3个回答
2
投票
-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Error occurred during initialization of VM
Could not reserve enough space for 1560576KB object heap

这是您的问题的根源:在尝试进行测试时,surefire插件尝试实例化JVM但由于无法分配足够的内存而失败。缺少target\surefire目录只是失败的结果,target目录在失败后被清除。

您应该按优先顺序尝试:

  • 为运行测试的JVM提供更多可用内存。这可以通过increasing your available swap memory解决
  • 限制测试JVM使用的内存。看看surefire插件配置,你可以设置JVM parameters
  • 完全跳过测试:使用mvn install -DskipTests;当然执行不再相同了

1
投票

好的,所以我解决了将这些行添加到我的pom.xml中的问题

 <build>
    <plugins>
        <plugin> 
            <groupId>org.apache.maven.plugins</groupId> 
            <artifactId>maven-surefire-plugin</artifactId> 
            <configuration> 
                <argLine>-Xmx512m</argLine> 
                <forkMode>pertest</forkMode> 
                <childDelegation>true</childDelegation> 
                <testFailureIgnore>true</testFailureIgnore> 
            </configuration>
        </plugin>
    </plugins>
</build>

再次感谢@Aaron

编辑:如果你遇到这些内存类型的问题,你可能需要在x64中安装JDK,如果你没有。这应该解决的不仅仅是这个问题。


0
投票

教程建议您禁用测试运行。请改为运行以下命令:mvn install -DskipTests=true

© www.soinside.com 2019 - 2024. All rights reserved.