2

所以我有一个问题,我正在关注教程在 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

问题是我的项目中没有这样的目录,如您在 . 那么我在哪里可以找到它或使用 maven 生成它?

谢谢你的帮助!

4

3 回答 3

3
-------------------------------------------------------
 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 提供更多内存。例如,这可以通过增加可用交换内存来解决

  • 限制测试JVM使用的内存。看一下surefire插件配置,可以设置JVM参数

  • 一起跳过测试:使用mvn install -DskipTests; 当然执行不一样了

于 2017-04-26T08:53:04.580 回答
2

好的,所以我解决了我的问题,将这些行添加到我的 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,如果你没有。这应该解决的不仅仅是这个问题。

于 2017-04-26T09:47:50.733 回答
0

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

于 2018-09-07T03:28:21.763 回答