是否可以在NetBeans中创建类似于Eclipse的“运行配置”的内容?我正在开发一个庞大的项目,目前没有分成Eclipse中的任何子项目。实际上,项目中有许多应用程序具有自己的主方法和单独的类路径。我知道,这是一团糟。
我正在考虑将项目迁移到NetBeans。从长远来看,创建许多项目是明智的,但是现在如果我可以在NetBeans中执行与Eclipse类似的东西,那将是一个真正的生命保护:创建具有自己的类路径的“启动器”。这可能吗?
如果使用“外部”项目很容易模仿这种行为,那么也欢迎提示。
答案 0 :(得分:4)
几个月后不知道这是否符合任何利益:http://wiki.netbeans.org/FaqTwoMainClassesWithArguments
答案 1 :(得分:2)
在Maven中使用Profiles接近Eclipse提供的Run Configuirations,但不太灵活。因此,您可以在POM.xml中定义配置文件
<profiles>
<profile>
<id>Config1</id>
<build>
<plugins>
<plugin>
<!-- create an all-in-one executable jar with maven-shade-plugin bound
to phase:package special handling for spring.handlers/spring.schemas files
to prevent overwriting (maven-shade-plugin joins them to one file) usage:
cd to <project>/target java -jar hello-world-java-1.0-executable.jar spring/batch/job/hello-world-job.xml
helloWorldJob -->
<artifactId>maven-shade-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<filters>
<filter>
<artifact>*:*</artifact>
<excludes>
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
</excludes>
</filter>
</filters>
<transformers>
<!-- Added this one because of runtime exception - No container
provider supports the type class org.glassfish.grizzly.http.server.HttpHandler
see - http://stackoverflow.com/questions/9787265/grizzly-and-jersey-standalone-jar -->
<transformer
implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
<transformer
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>com.myCompany.nexgen.main.Start</mainClass>
<!-- <mainClass>org.springframework.boot.loader.Launcher</mainClass> -->
</transformer>
<transformer
implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/spring.handlers</resource>
</transformer>
<transformer
implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/spring.schemas</resource>
</transformer>
</transformers>
<shadedArtifactAttached>true</shadedArtifactAttached>
<!-- configures the suffix name for the executable jar here it will
be '<project.artifact>-<project.version>-executable.jar' -->
<shadedClassifierName>executable</shadedClassifierName>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>myLocalrun</id>
<build>
<directory>
c:\sdev\myDev\myProj
</directory>
</build>
</profile>
</profiles>
然后在Project Properties中单击Run。您的配置文件将列在配置的下拉菜单中:您可以在此处为POM中列出的每个配置文件创建参数。
这不是问题的完整答案。显然,NetBeans缺乏在IDE中快速轻松地在运行配置之间切换的能力,并且这些配置独立于构建工具并且在存储库外部。我附加到不同的数据库,并根据我正在处理的项目的哪个方面使用不同的输入配置。这在NetBeans中非常有限。我不希望我的所有运行配置都检入存储库,这是将配置文件添加到项目POM时会发生的情况。
[编辑] :所以我差不多拿到了上面的答案。点击自定义... 按钮,您现在可以选择
保持此IDE实例的私密性
现在这个配置文件/配置不会存储在POM中。实际上它存储在Project Files - nb-configuration.xml中。
答案 2 :(得分:0)
我要做的是使用Ant并拥有一堆目标来调用您感兴趣的main()方法。
实际上,这样做的好处是你甚至可以在命令行上使用IDE之外的这些“快捷方式”,这对于持续集成构建和类似的东西很有用。
请注意,NetBeans允许您甚至为您选择的Ant目标定义工具栏/菜单快捷方式,我发现它非常有用。
例如,我的项目构建文件通常具有甚至可以启动和停止Tomcat的快捷方式,请参阅此示例:
http://ptrthomas.wordpress.com/2006/03/25/how-to-start-and-stop-tomcat-from-ant/