eclipse - maven archetype 的 eclipse 启动器中的主类

如何在 maven archetype 项目的启动器/运行配置中包含 java“main”类?

运行。启动:

<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
    <listEntry value="/${artifactId}/src/main/java/MY/PACKAGE/STRUCTURE/Start.java"/>

结果(原型生成后)应该类似于 /MYPROJECT/src/main/java/MY/PACKAGE/STRUCTURE/Start.java。所以,主要问题是如何替换动态java包结构,因为每个项目都不一样。

属性 ${package} 解析为“MY.PACKAGE.STRUCTURE”,而不是所需的“MY/PACKAGE/STRUCTURE”。

回答1

为其他用户发布我的解决方案,这可能会遇到同样的问题。

my-archetype/src/main/resources/META-INF/maven/archetype-metadata.xml 中定义一个新属性:

<requiredProperties>
    <requiredProperty key="package-with-slash">
        <defaultValue>${package.replace(".", "/")}</defaultValue>
    </requiredProperty>

请注意,替换是由 https://velocity.apache.org/engine/2.3/user-guide.html 完成的。

然后,在 run.launch 中引用它:

<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
    <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
        <listEntry value="/${artifactId}/src/main/java/${package-with-slash}/Start.java"/>

相似文章

随机推荐

最新文章