2013-06-10 9 views
6

Vom documentation:Forking Java das Exec Maven Plugin verwenden, ohne die Verwendung des `exec` Ziel

  1. exec:exec Programme ausführen und Java-Programme in einem separaten Prozess.
  2. exec:java Java-Programme in derselben VM ausführen.

Ich möchte ein Java-Programm verzweigen. Ich habe es bereits funktioniert in exec:java, aber das ist nicht Gabel. Der offensichtliche Schritt ist also, das Ziel auf exec zu ändern. Problem ist, die Syntax für exec unterscheidet sich ziemlich von der Syntax java. Es hat keine Tags wie includeProjectDependencies, includePluginDependencies usw. Gibt es ein Plugin, das ich verwenden kann, das ist wie # 1 in dem Sinne, dass es Gabeln, aber hat eine bequeme Syntax wie # 2? IMO, # 2 sollte nur eine <fork>true</fork> Konfiguration haben.

+0

Sie könnten modifiziere immer das Exec Maven Plugin, um den Java-Prozess aufzuteilen, aber behalte includeProjectDependencies und includePluginDependencies bei http://svn.codehaus.org/mojo/tags/exec-maven-plugin-1.2.1/src/main/java/org/codehaus/ mojo/exec/ExecMojo.java –

+0

@DeanToader Der Link ist jetzt verfault. – peterh

Antwort

0

Ich glaube, Sie können exec bleiben: exec, diese Art von Konfiguration verwenden, wenn Sie das Projekt Classpath auf den Java-Prozess geben möchten Sie verwenden:

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>exec-maven-plugin</artifactId> 
    <configuration> 
     <executable>java</executable> 
     <longClasspath>true</longClasspath> 
     <arguments> 
      <argument>-XX:MaxPermSize=128M</argument> 
      <argument>-Xmx1024M</argument> 
      <argument>-Xdebug</argument> 
      <argument>-Xrunjdwp:transport=dt_socket,address=8888,server=y,suspend=n</argument> 
      <argument>-classpath</argument> 
      <classpath/> 
     </arguments> 
    </configuration> 
</plugin> 

Siehe auch die plugin Usage page

+0

Wo konfigurieren Sie hier 'includeProjectDependencies' und' includePluginDependencies'? –

+0

Projektabhängigkeiten werden über das Argument hinzugefügt. Ich glaube nicht, dass Sie Plug-in-Abhängigkeiten hinzufügen können, aber ist das wirklich ein Problem? – Tome

+3

Für mich ist es. Ich betreibe einen Deployer. Der Deployer befindet sich nicht im Klassenpfad der tatsächlichen Anwendung. –