Java MAVEN,Netbeans平台:找不到主类

Java MAVEN,Netbeans平台:找不到主类,java,maven,netbeans,netbeans-platform,Java,Maven,Netbeans,Netbeans Platform,我遵循这个教程:我有一个问题 我试图创建示例“maven crud示例应用程序”和我的“maven netbeans应用程序”,但总是出现相同的错误。当我运行项目时,会出现以下异常: --- nbm-maven-plugin:3.3:run-platform (default-cli) @ application --- Executing: /bin/sh -c "/home/pea-rep/NetBeansProjects/JDK6/test maven//MavenCRUDSample/a

我遵循这个教程:我有一个问题

我试图创建示例“maven crud示例应用程序”和我的“maven netbeans应用程序”,但总是出现相同的错误。当我运行项目时,会出现以下异常:

--- nbm-maven-plugin:3.3:run-platform (default-cli) @ application ---
Executing: /bin/sh -c "/home/pea-rep/NetBeansProjects/JDK6/test maven//MavenCRUDSample/application/target/foo/bin/foo" --userdir '"/home/pea-rep/NetBeansProjects/JDK6/test maven//MavenCRUDSample/application/target/userdir"' -J-Dnetbeans.logger.console=true -J-ea --branding foo --jdkhome /usr/local/java/jdk1.6.0_45
Exception in thread "main" java.lang.NoClassDefFoundError: maven//MavenCRUDSample/application/target/userdir/var/log/heapdump/hprof
Caused by: java.lang.ClassNotFoundException: maven.MavenCRUDSample.application.target.userdir.var.log.heapdump.hprof
        at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
找不到主类:maven/MavenCRUDSample/application/target/userdir/var/log/heapdump.hprof。程序将退出。

在本教程中,我没有看到在主类中进行任何修改

我在没有MAVEN的情况下也做了同样的教程,效果很好:

有了这个错误,我无法运行我的应用程序并打开我的netbeans平台窗口。有人知道我为什么有这个吗

我使用的是带有jdk1.6.0_45和maven-3.2.1的Netbeans 6.9.1 操作系统:Ubuntu 64位

编辑: 我有4个pom.xml:

父级:crud示例应用程序–netbeans平台应用程序

crud示例应用程序–基于Netbeans平台的应用程序

crud示例应用程序-平台应用程序品牌资源

crud示例应用程序–示例Netbeans模块

很抱歉,我无法拆分它

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.netbeans</groupId>
    <artifactId>crud-sample-application</artifactId>
    <packaging>pom</packaging>
    <version>1.0-SNAPSHOT</version>
    <name>crud-sample-application - NetBeans Platform Application</name>
    <repositories>
    <!-- this is a remote repository hosting the netbeans api artifacts.
     the versions of the artifacts are netbeans IDE release based, eg. RELEASE65
     You might want to use your own repository. To create one, use the nbm:populate-repository goal.
      -->
    <repository>
        <id>netbeans</id>
        <name>repository hosting netbeans.org api artifacts</name>
        <url>http://bits.netbeans.org/maven2</url>
    </repository>
    </repositories>
    <dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>3.8.1</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.netbeans.api</groupId>
        <artifactId>org-openide-actions</artifactId>
        <version>RELEASE68</version>
    </dependency>
    </dependencies>
    <build>
    <plugins>
    </plugins>
    <pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>nbm-maven-plugin</artifactId>
                <version>3.1</version>
                <extensions>true</extensions>
                <configuration>
                    <descriptor>src/main/nbm/module.xml</descriptor>
                    <brandingToken>${brandingToken}</brandingToken>
                    <cluster>foobar</cluster>
                </configuration>
            </plugin>

            <!-- netbeans modules in 5.5+ are 1.5 compatible -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.0.2</version>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                </configuration>
            </plugin>
        </plugins>
    </pluginManagement>
    </build>
    <modules>
    <module>crudsample</module>
    <module>branding</module>
    <module>application</module>
    </modules>
    <properties>
    <netbeans.version>RELEASE68</netbeans.version>
    <brandingToken>foo</brandingToken>
    </properties>
</project>
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <parent>
    <groupId>org.netbeans</groupId>
    <artifactId>crud-sample-application</artifactId>
    <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <artifactId>application</artifactId>
    <packaging>nbm-application</packaging>
    <version>1.0-SNAPSHOT</version>
    <name>crud-sample-application - NetBeans Platform based application</name>
    <dependencies>
    <dependency>
        <groupId>org.netbeans.cluster</groupId>
        <artifactId>platform11</artifactId>
        <version>${netbeans.version}</version>
        <type>pom</type>
    </dependency>

    <dependency>
        <groupId>org.netbeans</groupId>
        <artifactId>crudsample</artifactId>
        <version>1.0-SNAPSHOT</version>
        <type>nbm</type>
    </dependency>
    <dependency>
        <groupId>org.netbeans</groupId>
        <artifactId>branding</artifactId>
        <version>1.0-SNAPSHOT</version>
        <type>nbm</type>
    </dependency>
    </dependencies>
    <build>
    <plugins>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>nbm-maven-plugin</artifactId>
            <version>3.3</version>
        </plugin>
    </plugins>
    </build>

    <profiles>
    <profile>
        <id>deployment</id>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>nbm-maven-plugin</artifactId>
                    <executions>
                        <execution>
                            <id>updatesite</id>
                            <phase>package</phase>
                            <goals>
                                <goal>autoupdate</goal>
                            </goals>
                            <configuration>
                        <!--distBase>central::default::http://repo1.maven.org/maven2</distBase-->
                            </configuration>
                        </execution>
                        <execution>
                            <id>webstart</id>
                            <phase>package</phase>
                            <goals>
                                <goal>webstart-app</goal>
                            </goals>
                            <configuration>
                                <codebase>${project.build.directory}/webstart/${brandingToken}</codebase>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </build>
    </profile>
    </profiles>
</project>
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <parent>
      <groupId>org.netbeans</groupId>
      <artifactId>crud-sample-application</artifactId>
      <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <artifactId>branding</artifactId>
  <packaging>nbm</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>crud-sample-application - Platform application branding resources</name>
  <dependencies>
    <dependency>
      <groupId>org.netbeans.api</groupId>
      <artifactId>org-openide-util</artifactId>
      <version>${netbeans.version}</version>
    </dependency>
  </dependencies>
  <build>
      <plugins>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>nbm-maven-plugin</artifactId>
            <executions>
                <execution>
                    <id>branding</id>
                    <phase>process-resources</phase>
                    <goals>
                        <goal>branding</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>2.2</version>
            <configuration>
                <!-- to have the jar plugin pickup the nbm generated manifest -->
                <useDefaultManifestFile>true</useDefaultManifestFile>
            </configuration>
        </plugin>
      </plugins>
  </build>
</project>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <parent>
      <groupId>org.netbeans</groupId>
      <artifactId>crud-sample-application</artifactId>
      <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <packaging>nbm</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>crud-sample-application - sample NetBeans Module</name>
  <dependencies>
    <dependency>
      <groupId>org.netbeans.api</groupId>
      <artifactId>org-openide-util</artifactId>
      <version>RELEASE68</version>
    </dependency>
    <dependency>
      <groupId>org.eclipse.persistence</groupId>
      <artifactId>javax.persistence</artifactId>
      <version>2.0.0</version>
    </dependency>
    <dependency>
      <groupId>org.eclipse.persistence</groupId>
      <artifactId>eclipselink</artifactId>
      <version>2.0.0</version>
    </dependency>
    <dependency>
      <groupId>org.netbeans.api</groupId>
      <artifactId>org-openide-windows</artifactId>
      <version>RELEASE68</version>
    </dependency>
    <dependency>
      <groupId>org.netbeans.api</groupId>
      <artifactId>org-openide-awt</artifactId>
      <version>RELEASE68</version>
    </dependency>
    <dependency>
      <groupId>org.netbeans.api</groupId>
      <artifactId>org-openide-explorer</artifactId>
      <version>RELEASE68</version>
      <type>jar</type>
    </dependency>
    <dependency>
      <groupId>org.netbeans.api</groupId>
      <artifactId>org-openide-nodes</artifactId>
      <version>RELEASE68</version>
      <type>jar</type>
    </dependency>
    <dependency>
      <groupId>org.netbeans.api</groupId>
      <artifactId>org-openide-dialogs</artifactId>
      <version>RELEASE68</version>
    </dependency>
    <dependency>
      <groupId>org.netbeans.api</groupId>
      <artifactId>org-openide-execution</artifactId>
      <version>RELEASE68</version>
    </dependency>
    <dependency>
      <groupId>org.apache.derby</groupId>
      <artifactId>derbyclient</artifactId>
      <version>10.5.3.0_1</version>
      <scope>runtime</scope>
    </dependency>
  </dependencies>
  <build>
      <plugins>
      <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>nbm-maven-plugin</artifactId>
      </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>2.2</version>
            <configuration>
                <!-- to have the jar plugin pickup the nbm generated manifest -->
                <useDefaultManifestFile>true</useDefaultManifestFile>
            </configuration>
        </plugin>
      </plugins>
  </build>
    <groupId>org.netbeans</groupId>
    <artifactId>crudsample</artifactId>
  <repositories>
    <repository>
      <url>http://ftp.ing.umu.se/mirror/eclipse/rt/eclipselink/maven.repo</url>
      <id>eclipselink</id>
      <layout>default</layout>
      <name>Repository for library Library[eclipselink]</name>
    </repository>
  </repositories>
</project>
通过main()运行项目:

avec les参数:

exec.classpathScope=${classPathScope}
exec.args=-classpath %classpath ${packageClassName}
exec.executable=java "
谢谢,
M.

问题解决,当netbeans执行时:

 /bin/sh -c "/home/pea-rep/NetBeansProjects/JDK6/test maven//MavenCRUDSample/application/target/foo/bin/foo" --userdir '"/home/pea-rep/NetBeansProjects/JDK6/test maven//MavenCRUDSample/application/target/userdir"' -J-Dnetbeans.logger.console=true -J-ea --branding foo --jdkhome /usr/local/java/jdk1.6.0_45

它不喜欢maven和test之间的空间。我重命名了我的文件夹,它就可以工作了

你能在这个问题中添加你的代码吗?没有代码我们怎么能给出答案?代码是由Netbeans自动生成的,我没有做任何更改。我认为代码不是问题所在。如果我启动了一个netbeans平台项目,没有任何代码(在我的教程中创建netbeans平台应用程序的部分);我也有同样的问题。请向我们展示您的pom.xml和您如何执行mvnChange to eclipse的命令行-它将消除您在使用NetBeans时遇到的50%的问题:)
exec.classpathScope=${classPathScope}
exec.args=-classpath %classpath ${packageClassName}
exec.executable=java "
 /bin/sh -c "/home/pea-rep/NetBeansProjects/JDK6/test maven//MavenCRUDSample/application/target/foo/bin/foo" --userdir '"/home/pea-rep/NetBeansProjects/JDK6/test maven//MavenCRUDSample/application/target/userdir"' -J-Dnetbeans.logger.console=true -J-ea --branding foo --jdkhome /usr/local/java/jdk1.6.0_45