我写了一个程序与java
和mysql
,现在我想有一个jar文件,当我点击它的程序工作(without that mysql install on my system
)。
我右键单击我的项目并按下清洁和构建,但它没有构建jar文件和
写入输出。
Updating property file: C:UsersmehdiDocumentsNetBeansProjectsproject1buildbuilt-clean.properties
Deleting directory C:UsersmehdiDocumentsNetBeansProjectsproject1build
clean:
init:
deps-jar:
Created dir: C:UsersmehdiDocumentsNetBeansProjectsproject1build
Updating property file: C:UsersmehdiDocumentsNetBeansProjectsproject1buildbuilt-jar.properties
Created dir: C:UsersmehdiDocumentsNetBeansProjectsproject1buildclasses
Created dir: C:UsersmehdiDocumentsNetBeansProjectsproject1buildempty
Compiling 8 source files to C:UsersmehdiDocumentsNetBeansProjectsproject1buildclasses
C:UsersmehdiDocumentsNetBeansProjectsproject1srcproject1NewUser.java:24: package sun.swing.table does not exist
import sun.swing.table.DefaultTableCellHeaderRenderer;
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
1 error
C:UsersmehdiDocumentsNetBeansProjectsproject1nbprojectbuild-impl.xml:595: The following error occurred while executing this line:
C:UsersmehdiDocumentsNetBeansProjectsproject1nbprojectbuild-impl.xml:276: Compile failed; see the compiler error output for details.
BUILD FAILED (total time: 0 seconds)
现在我想知道如何从我的程序中构建一个正确的jar文件,而没有安装mysql。
I use net beans 6.9.1
and jdk-6u23-windows-i586
我也遇到了同样的问题。为了使其工作,我将其添加到pom.xml文件中…
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
<compilerArguments>
<bootclasspath>${java.home}librt.jar</bootclasspath>
</compilerArguments>
</ configuration>
</plugin>
实际上有两个问题,我想分开:1. 如何克服编译错误?2. 如何将项目打包成一个独立的可运行jar文件?
第一个问题已经说得够多了。我只想添加一些一般建议:在导出项目之前仔细检查您的类路径:不同的ide可能在默认设置的类路径上有不同的库,但是当您导出代码并在其他位置从命令行运行它时,事情会停止工作,因为以前可用的第三方不再可用了。
关于第二个问题:你需要把你正在使用的所有第三方软件打包到你的jar中。我相信应该有一些NetBeans插件可以帮助做到这一点。你可能会发现这个链接很有帮助:
http://dr.berkeley.edu/REM/wiki/index.php/Making_a_Java_executable_jar_in_Netbeans祝你好运!
这与mysql没有任何关系。编译错误很明显:
C:UsersmehdiDocumentsNetBeansProjectsproject1srcproject1NewUser.java:24: package sun.swing.table does not exist
import sun.swing.table.DefaultTableCellHeaderRenderer;
构建失败,因为在任何地方都找不到导入。修复导入并重新编译。
右键单击你的项目,然后在底部选择Properties->Build->Compiling,在"Additional Compiler Options"中填写"-Xlint:deprecation"。
我冒昧地说,您正在尝试使用OpenJDK进行构建,而OpenJDK没有sun。*包。它可以在netbeans中运行,因为netbeans是连续编译的。检查您的设置,以确保您使用的是sun JDK,然后一切都应该工作。
可能您必须在编译时添加javac -XDignore.symbol.file
,参见使用javac内部sun类
作为maven的参考,应该是这样的:
<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>
<compilerArgument>
-XDignore.symbol.file
</compilerArgument>
</configuration>
</plugin>