如何从我的项目中构建jar文件?

时间:2011-04-04 16:18:12

标签: java mysql netbeans jdbc

我用javamysql编写了一个程序,现在我想要一个jar文件,当我点击它时程序工作(without that mysql install on my system)。

我右键单击我的项目,按下干净并构建,但它没有构建jar文件,并且在

下面

在输出中写道。

Updating property file: C:\Users\mehdi\Documents\NetBeansProjects\project1\build\built-clean.properties
Deleting directory C:\Users\mehdi\Documents\NetBeansProjects\project1\build
clean:
init:
deps-jar:
Created dir: C:\Users\mehdi\Documents\NetBeansProjects\project1\build
Updating property file: C:\Users\mehdi\Documents\NetBeansProjects\project1\build\built-jar.properties
Created dir: C:\Users\mehdi\Documents\NetBeansProjects\project1\build\classes
Created dir: C:\Users\mehdi\Documents\NetBeansProjects\project1\build\empty
Compiling 8 source files to C:\Users\mehdi\Documents\NetBeansProjects\project1\build\classes
C:\Users\mehdi\Documents\NetBeansProjects\project1\src\project1\NewUser.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:\Users\mehdi\Documents\NetBeansProjects\project1\nbproject\build-impl.xml:595: The following error occurred while executing this line:
C:\Users\mehdi\Documents\NetBeansProjects\project1\nbproject\build-impl.xml:276: Compile failed; see the compiler error output for details.
BUILD FAILED (total time: 0 seconds)

现在我想知道如何在没有安装mysql的情况下从我的程序构建一个正常工作的jar文件。

I use net beans 6.9.1

and jdk-6u23-windows-i586

6 个答案:

答案 0 :(得分:2)

我遇到了同样的问题。为了使事情有效,我将其添加到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}\lib\rt.jar</bootclasspath>
        </compilerArguments>
    </ configuration>
</plugin>

答案 1 :(得分:1)

实际上我想分开两个问题: 1.如何克服编译错误? 2.如何将项目打包到独立的可运行jar文件中?

上面说的第一个就够了。我只想添加一些一般性建议:在导出项目之前仔细检查您的类路径:默认情况下,不同的IDE可能在类路径上设置了不同的库,但是当您导出代码并在其他位置从命令行运行它时停止工作,因为之前可用的第三方不再可用。

关于第二个问题:你需要在罐子里打包你正在使用的所有第三方。我确信应该有一些NetBeans插件可以帮助实现它。您可能会发现此链接有用:

http://dr.berkeley.edu/REM/wiki/index.php/Making_a_Java_executable_jar_in_Netbeans

祝你好运!

答案 2 :(得分:0)

它根本与mysql无关。编译错误很明显:

C:\Users\mehdi\Documents\NetBeansProjects\project1\src\project1\NewUser.java:24: package sun.swing.table does not exist
import sun.swing.table.DefaultTableCellHeaderRenderer;

您的构建失败,因为它无法在任何地方找到导入。修复导入并重新编译。

答案 3 :(得分:0)

右键单击项目并转到属性 - &gt;构建 - &gt;在底部编译,使用“-Xlint:deprecation”填充附加编译器选项也不会有害。

答案 4 :(得分:0)

我打算冒险尝试用OpenJDK构建,而OpenJDK没有sun。*软件包。由于Netbeans的连续编译,它可能在netbeans中运行。检查您的设置以确保您使用的是sun JDK,然后应该可以正常工作。

答案 5 :(得分:0)

编译时可能需要添加javac -XDignore.symbol.file,请参阅Using internal sun classes with javac

仅供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>