2009-08-12 18 views
8

¿Es posible crear algo similar a las "configuraciones de ejecución" de Eclipse en NetBeans? Estoy trabajando en un gran proyecto que actualmente no está dividido en ningún subproyecto en Eclipse. De hecho, hay muchas aplicaciones en el proyecto que tienen sus propios métodos principales y classpaths separados. Lo sé, es un desastre.NetBeans y "configuraciones de ejecución" tipo Eclipse

Estoy considerando migrar el proyecto a NetBeans. A la larga, sería sensato crear muchos proyectos, pero por ahora sería un verdadero salvavidas si pudiera hacer cosas similares en NetBeans que en Eclipse: crear "launchers" que tengan sus propios classpaths. es posible?

Si es fácil de emular este comportamiento con proyectos "externos", también se pueden dar indicios de ello.

Respuesta

0

Lo que me gustaría hacer es utilizar Ant y tienen un montón de objetivos que invocan las principales() métodos que está intrerested en.

De hecho, la ventaja de esto es que usted puede utilizar éstos incluso el uso de estos "atajos "fuera de su IDE en la línea de comandos, útil para las compilaciones de integración continua y cosas por el estilo.

Tenga en cuenta que NetBeans le permite definir incluso accesos directos a la barra de herramientas/menú a los objetivos Ant de su elección, me parece muy útil.

Por ejemplo mi proyecto de construcción de archivos suelen tener accesos directos a incluso iniciar y detener Tomcat, esto para ver un ejemplo:

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

+0

Solución propuesta asume el uso de las hormigas cuando la mayoría de los proyectos se han trasladado a maven o Gradle. –

+0

Incluso hay un complemento disponible, Ejecutar con argumentos, pero nuevamente está basado en Ant. Buscando esa característica que es independiente de la herramienta de compilación que se utiliza. http://plugins.netbeans.org/plugin/53855/run-with-arguments –

2

El uso de perfiles en Maven está cerca de las configuraciones de ejecución que proporciona Eclipse pero no tan flexibles. Por lo tanto, puede definir su perfil en su 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> 

Luego, en Propiedades del proyecto, haga clic en Ejecutar. Sus perfiles se enumerarán en el menú desplegable para Configuración: Aquí es donde puede crear los argumentos para cada perfil enumerado en el POM.

enter image description here

Esto no es una respuesta completa al problema. Claramente, NetBeans carece de la capacidad para cambiar rápida y fácilmente entre las configuraciones de ejecución dentro del IDE y hacer que esas configuraciones sean independientes de la herramienta de compilación y externas al repositorio. Me conecto a diferentes bases de datos y uso diferentes configuraciones de entrada en función de qué aspecto del proyecto estoy trabajando. Esto es muy limitante en NetBeans. No quiero registrar todas las configuraciones de mi ejecución en el repositorio, que es lo que sucederá con los perfiles que se agregan al POM del proyecto.

[EDITAR]: Así que estuve casi allí con la respuesta anterior. Al hacer clic en el Personalizar ... botón se pasa a elegir

mantener en privado a esta instancia IDE

enter image description here y ahora este perfil/configuración no se almacena en el POM. De hecho, se almacena en los archivos de proyecto - nb-configuration.xml.

enter image description here

Cuestiones relacionadas