在命令行中创建一个java包

gos*_*kel 7 java linux command-line package

虽然它可能是用于编写高级java项目的一种用途和IDE,但我个人更喜欢几乎完全运行命令行(使用gedit作为文本编辑器).所以请不要只告诉我"只要使用eclipse!" 或者其他东西:P

我的问题是在java中创建包的方法是什么.

我不是在谈论打包在命令行中运行的应用程序,我在谈论在命令行中创建一个包.我在制作文本文件吗?我在制作目录吗?

相关地,如何在不使用IDE的情况下链接到相关的库和本机?

我知道我在这里真的很尴尬,但我真的更喜欢控制器在命令行工作.

Ale*_*s G 7

它有三个部分:(1)创建目录结构; (2)在java文件中指示包; (3)编译它.

例如,如果要创建包com.mycompany.myproject,则需要从项目的基目录开始,然后:

(1)创建目录 com/mycompany/myproject

(2)在该目录中创建java文件,并package com.mycompany.myproject在其中加以说明;

(3)编译文件,例如,用 javac -cp . com/mycompany/myproject/*.java

您可能希望指定不同的输出目录,以便不混合源和编译的类.

如果需要使用外部库(.jar文件)进行编译,则需要使用-cp-classpath命令行参数javac来指定工具,例如:

javac -cp .:some_library.jar:lib/another_library.java com/mycompany/myproject/*.java
Run Code Online (Sandbox Code Playgroud)

将所有外部库放在一个位置可能是个好主意,例如lib主项目目录的子目录.并且,顺便说一句,上面的javac命令假设类似unix的环境.如果您使用的是Windows,则需要使用;路径分离.


Mat*_*der 5

包只是文件系统上的目录.所以你的包:com.mycompany.util对应一个目录com/mycompany/util.

在运行和编译等时,您当前的工作目录应该是该顶级目录所在的位置.

要包含库,请在编译和运行时将它们包含在类路径中.例如做一个项目目录myproject,并在有你的Java文件和包下myproject/src/,而且您在使用库myproject/libs/ 然后,当你当前workding目录是myproject执行java -cp .:libs/*.jar 或以相同的javac.

但我建议你考虑使用蚂蚁或maven.

  • 这是正确的...包只是有组织的目录结构 (3认同)