2009-08-12 52 views
8

是否有可能在NetBeans中創建類似Eclipse的「運行配置」的東西?我正在研究一個巨大的項目,該項目目前在Eclipse中不分爲任何子項目。事實上,項目中有許多應用程序都有自己的主要方法和獨立的類路徑。我知道,這是一團糟。NetBeans和類似Eclipse的「運行配置」

我在考慮將項目遷移到NetBeans。從長遠來看,創建許多項目是明智的,但現在如果我可以在NetBeans中執行類似於Eclipse的項目,它將會是一個真正的生命保護程序:創建具有自己的類路徑的「啓動器」。這可能嗎?

如果使用「外部」項目很容易模擬此行爲,那麼也可以提供相關提示。

回答

0

我會做的是使用Ant和有一堆來調用你的intrerested在main()方法的目標。

其實這樣做的好處是,你可以使用這些甚至用這些「捷徑「在命令行上的IDE之外,對於持續集成構建以及類似的東西非常有用。

請注意,NetBeans允許您定義工具欄/菜單快捷方式到您選擇的Ant目標,我覺得這非常有用。

例如我的項目建設文件通常具有快捷方式甚至開始和停止Tomcat,請參閱本爲例:

http://ptrthomas.wordpress.com/2006/03/25/how-to-start-and-stop-tomcat-from-ant/

+0

建議的解決方案假定使用Ant的時候大部分項目已經轉移到Maven的gradle或。 – 2015-12-21 13:50:17

+0

甚至有一個插件可用,運行參數,但它又是基於螞蟻。尋找與使用的構建工具無關的功能。 http://plugins.netbeans.org/plugin/53855/run-with-arguments – 2017-02-03 16:45:48

2

在Maven中使用配置文件接近於Eclipse提供的運行配置,但並不十分靈活。所以,你可以在你的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> 

然後在項目屬性點擊運行。配置文件的下拉菜單中將列出您的配置文件。您可以在這裏創建POM中列出的每個配置文件的參數。

enter image description here

這不是一個完整的答案的問題。很顯然,NetBeans缺乏在IDE內快速輕鬆地切換運行配置的功能,並且這些配置獨立於構建工具,並且獨立於存儲庫外部。我附加到不同的數據庫,並根據我正在處理的項目的哪些方面使用不同的輸入配置。這在NetBeans中非常有限。我不希望將所有運行配置都檢入到存儲庫中,這些配置文件將添加到項目POM中。

[編輯]:所以我幾乎在那裏的答案上面。點擊自定義...按鈕,你就可以選擇

保持爲私有IDE實例

enter image description here 現在這個配置文件/配置不會被保存在POM。實際上它存儲在Project Files-nb-configuration.xml中。

enter image description here