[英]Clean and Build a Maven Project with Netbeans - Compilation failure
我已經准備好部署我的項目,所以我需要創建一個可執行的 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 項目,該項目依賴於該項目。
這是當我在我的項目 ( ProjectMaven
) 上按Clean and Build
時由 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 中的運行按鈕時會執行罰款。
我不知道這個插件有多好,但是您可能需要考慮一下。
而不是程序集插件,使用陰影插件。 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 包括所有,或 .exe 啟動一個 .jar 與所有,使用 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>
dazito,如果圖像沒有加載,那么我想你必須檢查路徑。 正如我所看到的,路徑是相對的而不是絕對的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.