温馨提示:本文翻译自stackoverflow.com,查看原文请点击:java - Clean and Build a Maven Project with Netbeans

java - 使用Netbeans清理并构建Maven项目

发布于 2020-03-29 22:06:58

我已经准备好部署项目,因此需要创建一个可执行的jar进行分发。在线阅读后,我现在正在尝试clean and build我的项目(ProjectMaven),它是一个Maven具有依赖项项目(位于Netbeans 8

我的项目依赖于我使用创建的另一个项目 Maven

看完这个这个答案,我做了我的pom.xml文件是这样的:

<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.dwnz.project</groupId>
    <artifactId>ProjectMaven</artifactId>
    <name>DwnzProject</name>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.7</maven.compiler.source>
        <maven.compiler.target>1.7</maven.compiler.target>
    </properties>

    <build>
    <plugins>
        <plugin>
         <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>2.2</version>
            <!-- nothing here -->
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>2.2-beta-4</version>
            <configuration>
              <descriptorRefs>
                <descriptorRef>jar-with-dependencies</descriptorRef>
              </descriptorRefs>
              <archive>
                <manifest>
                  <mainClass>view.MainFrame</mainClass>
                </manifest>
              </archive>
            </configuration>
            <executions>
              <execution>
                <phase>package</phase>
                <goals>
                  <goal>single</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.3.2</version>
            <configuration>
              <source>1.7</source>
              <target>1.7</target>
            </configuration>
          </plugin>
    </plugins>
  </build>

    <dependencies>
        <dependency>
            <groupId>com.googlecode.jcsv</groupId>
            <artifactId>jcsv</artifactId>
            <version>1.4.0</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.24</version>
        </dependency>
        <dependency>
            <groupId>com.dazito.retro.eventbus</groupId>
            <artifactId>RetroEventBusMaven</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>org.eclipse.persistence</groupId>
            <artifactId>eclipselink</artifactId>
            <version>2.5.1</version>
        </dependency>
        <dependency>
            <groupId>org.eclipse.persistence</groupId>
            <artifactId>org.eclipse.persistence.jpa.modelgen.processor</artifactId>
            <version>2.5.1</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <version>4.3.6.Final</version>
        </dependency>

    </dependencies>
</project>

com.dazito.retro.eventbus 是我创建的该项目所依赖的另一个Maven项目。

这是我按Clean and Build项目(ProjectMaven时由Maven创建的输出

Compiling 48 source files to C:\Users\Dwnz\Documents\NetBeansProjects\ProjectMaven\target\classes
-------------------------------------------------------------
COMPILATION ERROR : 
-------------------------------------------------------------
view/MainFrame.java:[9,32] error: cannot find symbol
view/MainFrame.java:[10,49] error: package com.dazito.retro.eventbus.buses.singletons does not exist
api/CallsToGUI.java:[7,32] error: cannot find symbol
view/toolbar/ToolBar.java:[9,32] error: cannot find symbol
view/toolbar/ToolBar.java:[10,49] error: package com.dazito.retro.eventbus.buses.singletons does not exist
view/menu/ExportTableDialog.java:[9,32] error: cannot find symbol
view/menu/ExportTableDialog.java:[10,49] error: package com.dazito.retro.eventbus.buses.singletons does not exist
view/toolbar/AskPasswordDialog.java:[9,32] error: cannot find symbol
view/toolbar/AskPasswordDialog.java:[10,49] error: package com.dazito.retro.eventbus.buses.singletons does not exist
view/menu/ImportTableDialog.java:[7,32] error: cannot find symbol
view/menu/ImportTableDialog.java:[8,49] error: package com.dazito.retro.eventbus.buses.singletons does not exist
view/MainFrame.java:[107,18] error: cannot find symbol
view/rightPanel/RightTable.java:[7,32] error: cannot find symbol
view/rightPanel/RightTable.java:[8,49] error: package com.dazito.retro.eventbus.buses.singletons does not exist
view/toolbar/ToolBar.java:[34,18] error: cannot find symbol
view/menu/ExportTableDialog.java:[46,18] error: cannot find symbol
view/toolbar/AskPasswordDialog.java:[52,12] error: cannot find symbol
view/menu/ImportTableDialog.java:[36,18] error: cannot find symbol
view/rightPanel/RightTable.java:[40,18] error: cannot find symbol
view/actionlisteners/ImportResultsActionListener.java:[10,32] error: cannot find symbol
view/actionlisteners/ImportResultsActionListener.java:[11,49] error: package com.dazito.retro.eventbus.buses.singletons does not exist
21 errors 
-------------------------------------------------------------
------------------------------------------------------------------------
BUILD FAILURE
------------------------------------------------------------------------
Total time: 4.311s
Finished at: Thu Oct 02 07:32:54 BST 2014
Final Memory: 30M/116M
------------------------------------------------------------------------
Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project ProjectMaven: Compilation failure: Compilation failure:
view/MainFrame.java:[9,32] error: cannot find symbol
view/MainFrame.java:[10,49] error: package com.dazito.retro.eventbus.buses.singletons does not exist
api/CallsToGUI.java:[7,32] error: cannot find symbol
view/toolbar/ToolBar.java:[9,32] error: cannot find symbol
view/toolbar/ToolBar.java:[10,49] error: package com.dazito.retro.eventbus.buses.singletons does not exist
view/menu/ExportTableDialog.java:[9,32] error: cannot find symbol
view/menu/ExportTableDialog.java:[10,49] error: package com.dazito.retro.eventbus.buses.singletons does not exist
view/toolbar/AskPasswordDialog.java:[9,32] error: cannot find symbol
view/toolbar/AskPasswordDialog.java:[10,49] error: package com.dazito.retro.eventbus.buses.singletons does not exist
view/menu/ImportTableDialog.java:[7,32] error: cannot find symbol
view/menu/ImportTableDialog.java:[8,49] error: package com.dazito.retro.eventbus.buses.singletons does not exist
view/MainFrame.java:[107,18] error: cannot find symbol
view/rightPanel/RightTable.java:[7,32] error: cannot find symbol
view/rightPanel/RightTable.java:[8,49] error: package com.dazito.retro.eventbus.buses.singletons does not exist
view/toolbar/ToolBar.java:[34,18] error: cannot find symbol
view/menu/ExportTableDialog.java:[46,18] error: cannot find symbol
view/toolbar/AskPasswordDialog.java:[52,12] error: cannot find symbol
view/menu/ImportTableDialog.java:[36,18] error: cannot find symbol
view/rightPanel/RightTable.java:[40,18] error: cannot find symbol
view/actionlisteners/ImportResultsActionListener.java:[10,32] error: cannot find symbol
view/actionlisteners/ImportResultsActionListener.java:[11,49] error: package com.dazito.retro.eventbus.buses.singletons does not exist
-> [Help 1]

To see the full stack trace of the errors, re-run Maven with the -e switch.
Re-run Maven using the -X switch to enable full debug logging.

For more information about the errors and possible solutions, please read the following articles:
[Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

我究竟做错了什么?如何解决此问题,以便清理和构建项目?该项目没有编译错误,并且在按下netbeans中的运行按钮时会执行罚款。

查看更多

提问者
dazito
被浏览
46
Iker Aguayo 2014-10-02 15:00

我对这个插件不太了解,但是您可能要考虑一下。

代替阴影插件,使用阴影插件。http://maven.apache.org/plugins/maven-shade-plugin/

           <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>2.2</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                        <configuration>
                            <createDependencyReducedPom>false</createDependencyReducedPom>
                            <filters>
                                <filter>
                                    <artifact>*:*</artifact>
                                    <excludes>
                                        <exclude>META-INF/*.SF</exclude>
                                        <exclude>META-INF/*.DSA</exclude>
                                        <exclude>META-INF/*.RSA</exclude>
                                        <exclude>.settings/**</exclude>
                                        <exclude>*.classpath</exclude>
                                        <exclude>*.project</exclude>
                                        <exclude>*.txt</exclude>
                                    </excludes>
                                </filter>
                            </filters>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

并创建一个包含全部的.exe或全部启动.jar的.exe,请使用launch4j插件https://github.com/lukaszlenart/launch4j-maven-plugin

           <plugin>
                <groupId>com.akathist.maven.plugins.launch4j</groupId>
                <artifactId>launch4j-maven-plugin</artifactId>
                <version>1.5.2</version>
                <executions>
                    <execution>
                        <id>l4j-gui</id>
                        <phase>package</phase>
                        <goals>
                            <goal>launch4j</goal>
                        </goals>
                        <configuration>
                            <headerType>gui</headerType>
                            <outfile>target/Project.exe</outfile>
                            <jar>target/${project.artifactId}-${project.version}.jar</jar>
                            <!-- if <dontWrapJar>true</dontWrapJar> change to this conf <jar>${project.artifactId}-${project.version}.jar</jar> -->
                            <dontWrapJar>false</dontWrapJar>
                            <errTitle>Error in launch4j plugin</errTitle>
                            <classPath>
                                <mainClass>path.Main</mainClass>
                            </classPath>
                            <icon>Project.ico</icon>
                            <jre>
                                <minVersion>1.5.0</minVersion>
                                <maxVersion>1.6.0</maxVersion>
                                <initialHeapSize>512</initialHeapSize>
                                <maxHeapSize>1024</maxHeapSize>
                            </jre>
                            <versionInfo>
                                <fileVersion>1.0.0.0</fileVersion>
                                <txtFileVersion>1.0.0.0</txtFileVersion>
                                <fileDescription>des</fileDescription>
                                <copyright>Copyright (c) 2014 </copyright>
                                <companyName>comp</companyName>
                                <productVersion>3.0.0.0</productVersion>
                                <txtProductVersion>${project.version}</txtProductVersion>
                                <productName>Project</productName>
                                <internalName>Project</internalName>
                                <originalFilename>Project.exe</originalFilename>
                            </versionInfo>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

发布
问题

分享
好友

手机
浏览

扫码手机浏览