java - 用shellscript编译java代码,包括几个文件(.jars .class)

标签 java shell batch-file compilation javac

我有以下代码在shellscript中编译java程序:

javac workshop/*.java -cp jars/\*  
javac menu/*.java -cp jars/\*  -cp workshop/

这段代码应该编译workshop中的所有java文件并包含jar中的所有内容,然后它应该编译菜单中的所有内容,同时包含jar中的每个jar文件和workshop中的每个.class文件。

但这并不是因为第二个命令给了我错误

menu/PgElementSet_Menu.java:15: error: package workshop does not exist
import workshop.*;

包工作坊位于workspace.MyWorkShop.class(以及其他)中。

现在我可能正在做一些愚蠢的事情,但我不确定我做错了什么,代码基于 .bat 文件,它执行以下操作(并且在 Windows 机器上工作)

javac -classpath jars\javaview.jar;jars\jvx.jar;. workshop\*.java
javac -classpath jars\javaview.jar;jars\jvx.jar;. menu\*.java
@pause

有什么想法吗?

最佳答案

这对你有用

for i in `ls jars/*.jar`; 
do 
    export CLASSPATH=$CLASSPATH:$i; 
done
export CLASSPATH=.:$CLASSPATH
javac `find * -name *.java`

关于java - 用shellscript编译java代码,包括几个文件(.jars .class),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37162119/

相关文章:

bash - 在shell脚本中同时从两个文件中逐行读取

windows - 如何使用 ExecDos 命令隐藏命令提示符窗口

java - 如何在 onbackpressed() 时刷新 fragment 中的 ListView

java - 为什么我们需要HashMap以外的数据结构

java - 如何通过命名空间和 FXMLLoader 将复杂对象传递到 FXML 中?

bash - 使用 shell 脚本输出::::而不是实际字符来解析和存储 csv 文件的值

Java 字符串输入输出

Linux 终端 - 截取 top 命令的屏幕截图并通过电子邮件发送

file - 批处理文件中任务列表的退出状态?

windows - 批处理文件中的循环计数器 - 如何将数字保持在同一位置?