如果我是你,我会按照以下方式组织事情:
your_app
|-- Hello.java
|-- bin
| `-- hello.sh
`-- lib
`-- hello.jar
在Hello.java
内有一个简单的代码:
public class Hello {
public static void main(String [] arg) {
if(arg.length > 0) {
System.out.println("Hello: " + arg[0]);
}
}
}
,您可以这样构建它:
> javac Hello.java
> jar cf lib/hello.jar Hello.class
请注意,为简单起见,我这样做很丑陋。您绝对应该看一下名为Manifest
-https://docs.oracle.com/javase/tutorial/deployment/jar/manifestindex.html
的东西
然后,在hello.sh
中,您可以输入类似以下内容:
#!/bin/bash
export HELLO_LOCATION=${HELLO_LOCATION:-$(cd $(dirname $0)/.. ; pwd)
java -cp $HELLO_LOCATION/lib/hello.jar Hello $*
一切就绪后,您可以随意将your_app
放在文件系统中的任何位置。您要做的(使其可见)是将hello.sh
放在PATH
上。所以,你告诉人们去做:
export PATH=${SOME_LOCATION}/your_app/bin:${PATH}
从现在开始,每个人都可以做:
> hello.sh hello
Hello: hello
您也可以(为方便起见)在/usr/bin
或/usr/local/bin
内创建符号链接。
如果您打算发布多个版本的代码,则值得一看的名称为:modules。
您可以在这里阅读有关它们的信息:https://www.owsiak.org/modules-as-a-convenient-way-of-choosing-build-chain-on-macos/
样本目标为macOS
,但同样也适用于Linux
。
本文链接:https://www.f2er.com/1989940.html