2009-11-13 10 views
7

Ich hoffe, jemand kann mir mit diesem seltsamen helfen. Ich versuche, das Webstart-Plugin auszuführen, aber es scheint nicht in der Lage zu sein, die Hauptklasse innerhalb des Jars zu finden, das produziert wird. Der Pom ist so einfach wie es nur geht und die Klasse Test existiert und wird kompiliert und in den Jar gelegt. Kann mir bitte jemand in die richtige Richtung zeigen?Maven webstart plugin keine Abhängigkeiten zu finden

<project> 
    <modelVersion>4.0.0</modelVersion> 
    <name>Desktop Components</name> 
    <groupId>com.test</groupId> 
    <artifactId>test</artifactId> 
    <version>1.0</version> 
    <packaging>jar</packaging> 
    <build> 
    <plugins> 
     <plugin> 
     <groupId>org.codehaus.mojo.webstart</groupId> 
     <artifactId>webstart-maven-plugin</artifactId> 
     <executions> 
      <execution> 
      <phase>process-resources</phase> 
      <goals> 
       <goal>jnlp-download-servlet</goal> 
      </goals> 
      </execution> 
     </executions> 

     <configuration> 
      <jnlpFiles> 
      <jnlpFile> 
       <jarResources> 
       <jarResource> 
        <groupId>com.test</groupId> 
        <artifactId>test</artifactId> 
        <version>1.0</version> 
        <mainClass>Test</mainClass> 
       </jarResource> 
       </jarResources> 
      </jnlpFile> 
      </jnlpFiles> 
     </configuration> 
     </plugin> 
    </plugins> 
    </build> 
</project> 

ist die Maven Spur:

C:\TEMP\webstart-test>mvn webstart:jnlp –e 
+ Error stacktraces are turned on. 
[INFO] Scanning for projects... 
[INFO] ------------------------------------------------------------------------ 
[INFO] Building Desktop Components 
[INFO] task-segment: [webstart:jnlp] (aggregator-style) 
[INFO] ------------------------------------------------------------------------ 
[INFO] Preparing webstart:jnlp 
[INFO] ------------------------------------------------------------------------ 
[INFO] Building Desktop Components 
[INFO] ------------------------------------------------------------------------ 
[INFO] [resources:resources {execution: default-resources}] 
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent! 
[INFO] skip non existing resourceDirectory C:\TEMP\webstart-test\src\main\resources 
[INFO] [webstart:jnlp-download-servlet {execution: default}] 
[INFO] No templateFilename found for launch2.jnlp. Will use the default template. 
[INFO] No resources found in C:\TEMP\webstart-test\src\main\jnlp\resources 
Downloading: http://repo1.maven.org/maven2/com/test/test/1.0/test-1.0.pom 
[INFO] Unable to find resource 'com.test:test:pom:1.0' in repository central (http://repo1.maven.org/maven2) 
No template specified Using default one. 

***** Webstart JAR URL: jar:file:/C:/apache-maven-2.2.1/repo/org/codehaus/mojo/webstart/webstart-maven-plugin/1.0-alpha-2/webstart-maven-plugin-1.0-alpha-2.jar! 
/
[INFO] [compiler:compile {execution: default-compile}] 
[INFO] Nothing to compile - all classes are up to date 
[INFO] [resources:testResources {execution: default-testResources}] 
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent! 
[INFO] skip non existing resourceDirectory C:\TEMP\webstart-test\src\test\resources 
[INFO] [compiler:testCompile {execution: default-testCompile}] 
[INFO] No sources to compile 
[INFO] [surefire:test {execution: default-test}] 
[INFO] No tests to run. 
[INFO] [jar:jar {execution: default-jar}] 
[INFO] Building jar: C:\TEMP\webstart-test\target\test-1.0.jar 
[INFO] [webstart:jnlp {execution: default-cli}] 
[INFO] No resources found in C:\TEMP\webstart-test\src\main\jnlp\resources 
[INFO] ------------------------------------------------------------------------ 
[ERROR] BUILD ERROR 
[INFO] ------------------------------------------------------------------------ 
[INFO] Failure to run the plugin: 
[INFO] ------------------------------------------------------------------------ 
[INFO] Trace 

Die Spur folgt

org.apache.maven.lifecycle.LifecycleExecutionException: Failure to run the plugin: 
     at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:719) 
     at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:569) 
     at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:539) 
     at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387) 
     at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:284) 
     at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180) 
     at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328) 
     at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138) 
     at org.apache.maven.cli.MavenCli.main(MavenCli.java:362) 
     at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
     at java.lang.reflect.Method.invoke(Method.java:592) 
     at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315) 
     at org.codehaus.classworlds.Launcher.launch(Launcher.java:255) 
     at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430) 
     at org.codehaus.classworlds.Launcher.main(Launcher.java:375) 

Nun ist die durch die Spur verursacht

Caused by: org.apache.maven.plugin.MojoExecutionException: Failure to run the plugin: 
     at org.codehaus.mojo.webstart.AbstractJnlpMojo.execute(AbstractJnlpMojo.java:289) 
     at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490) 
     at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694) 
     ... 17 more 

Caused by: java.lang.NullPointerException 
     at org.codehaus.mojo.webstart.AbstractJnlpMojo.execute(AbstractJnlpMojo.java:214) 
     ... 19 more 

und die endgültige Maven Spur

+0

Bitte nehmen Sie sich etwas Zeit, um Ihre Frage, die derzeit nicht lesbar ist, zu formatieren und zu erklären, was Sie erreichen wollen **. Das Webstart-Plugin hat viele Ziele. "Ich versuche den Webstart pluign auszuführen" ist nicht klar, selbst wenn ich sehen kann, welches Ziel Sie aufrufen. Das Problem ist, dass Sie Konzepte mischen, so dass ich nicht weiß, was Sie versuchen zu tun. Wie gesagt, nehmen Sie sich etwas Zeit, um zu klären und Ihre Frage klug zu stellen (http://catb.org/~esr/faqs/smart-questions.html). –

Antwort

-1

Ich glaube nicht, dass Ihre Abhängigkeiten nicht gefunden werden, sondern einige Dateien in C: \ TEMP \ webstart-test \ src \ main \ jnlp \ resources, z. B. die Velocity-Vorlage für Ihre jnlp-Datei könnte sein?

+0

@napoleon: Die Standard-Velocity-Vorlage wird verwendet. – amirouche

1

Das ist Problem mit Mainclass für JNLP

Sie brauchen so etwas wie diese

<configuration> 
    <jnlp> 
     <mainClass>com.test.Test</mainClass> 
    </jnlp> 
<configuration> 
0

Ich bin sicher, dass dies nicht mehr ein Problem für Sie, wie die Frage ein Jahr alt ist. Aber der Vollständigkeit halber ...

Ich habe die Frage bearbeitet, um es lesbar zu machen. Dies zeigt uns, dass der Fehler in Zeile 214 von AbstractJnlpMojo liegt. Looking at the latest version source code in Zeile 214 (die Ursache oben), können wir sehen, ist dies, weil Sie die Hauptmethode für die JNLP-Datei nicht angegeben haben.

Der JNLP benötigt nicht die Hauptmethodenklasse, die in den jar-Ressourcen angegeben wurde. Es benötigt es auch im JNLP-Tag, so.

<configuration> 
     <jnlp> 
     <mainClass>com.test.Test</mainClass> 
     </jnlp> 
    </configuration> 

Da der Code hat sich geändert, wenn Sie das heute täten, würden Sie die folgende Ausnahme (ein bisschen mehr lesbar) erhalten:

org.apache.maven.plugin.MojoExecutionException: 
    didn't find artifact with main class: null. Did you specify it? 
0

Für dieses Problem zu lösen:

Artefakt mit Hauptklasse nicht gefunden: null. Hast du es angegeben?

Ich hatte ein Multi-Modul-Maven-Projekt zu erstellen, wie folgt:

  • Basis-Projekt
    • Haupt-App
    • webstart

Dann innerhalb webstart 'sp Om-Datei habe ich main-app als Abhängigkeit enthalten. Führen Sie schließlich mvn webstart:jnlp aus dem Verzeichnis webstart aus.

Verwandte Themen