2024-05-07 13:54:58 | 我爱编程网
#!/bin/sh# Define some constants
ONSSERVER=ONSServer
PROJECT_PATH=/root/iot-oid
JAR_PATH=$PROJECT_PATH/lib
BIN_PATH=$PROJECT_PATH/bin
SRC_PATH=$PROJECT_PATH/src/$ONSSERVER
# First remove the sources.list file if it exists and then create the sources file of the project
rm -f $SRC_PATH/sources
find $SRC_PATH/com -name *.java > $SRC_PATH/sources.list
# First remove the ONSServer directory if it exists and then create the bin directory of ONSServer
rm -rf $BIN_PATH/$ONSSERVER
mkdir $BIN_PATH/$ONSSERVER
# Compile the project
javac -d $BIN_PATH/$ONSSERVER -classpath $JAR_PATH/jdom.jar:$JAR_PATH/oro-2.0.8.jar @$SRC_PATH/sources.list
这个文件你可以保存好,然后 chmod +x ./shell 运行
javac -d YourDir -classpath xx.jar xxxx.java xx.java 这个命令的简单的看就是 YourDir 你的生成文件的位置, -classpath 就是你引入的 jar 的路径, xxx.java 就是源文件
javac 的用法:
用法: javac
其中, 可能的选项包括:
-g 生成所有调试信息
-g:none 不生成任何调试信息
-g:{lines,vars,source} 只生成某些调试信息
-nowarn 不生成任何警告
-verbose 输出有关编译器正在执行的操作的消息
-deprecation 输出使用已过时的 API 的源位置
-classpath <路径> 指定查找用户类文件和注释处理程序的位置
-cp <路径> 指定查找用户类文件和注释处理程序的位置
-sourcepath <路径> 指定查找输入源文件的位置
-bootclasspath <路径> 覆盖引导类文件的位置
-extdirs <目录> 覆盖所安装扩展的位置
-endorseddirs <目录> 覆盖签名的标准路径的位置
-proc:{none,only} 控制是否执行注释处理和/或编译。
-processor
-processorpath <路径> 指定查找注释处理程序的位置
-parameters 生成元数据以用于方法参数的反射
-d <目录> 指定放置生成的类文件的位置
-s <目录> 指定放置生成的源文件的位置
-h <目录> 指定放置生成的本机标头文件的位置
-implicit:{none,class} 指定是否为隐式引用文件生成类文件
-encoding <编码> 指定源文件使用的字符编码
-source <发行版> 提供与指定发行版的源兼容性
-target <发行版> 生成特定 VM 版本的类文件
-profile <配置文件> 请确保使用的 API 在指定的配置文件中可用
-version 版本信息
-help 输出标准选项的提要
-A关键字[=值] 传递给注释处理程序的选项
-X 输出非标准选项的提要
-J<标记> 直接将 <标记> 传递给运行时系统
-Werror 出现警告时终止编译
@<文件名> 从文件读取选项和文件名
在java程序中如何调用linux的命令?如何调用shell脚本呢?
这里不得不提到java的process类了。
process这个类是一个抽象类,封装了一个进程(你在调用linux的命令或者shell脚本就是为了执行一个在linux下执行的程序,所以应该使用process类)。
process类提供了执行从进程输入,执行输出到进程,等待进程完成,检查进程的推出状态,以及shut down掉进程。
至于详细的process类的介绍放在以后介绍。
另外还要注意一个类:Runtime类,Runtime类是一个与JVM运行时环境有关的类,这个类是Singleton的。
这里用到的Runtime.getRuntime()方法是取得当前JVM的运行环境,也是java中唯一可以得到运行环境的方法。(另外,Runtime的大部分方法都是实例方法,也就是说每次运行调用的时候都需要调用到getRuntime方法)
下面说说Runtime的exec()方法,这里要注意的有一点,就是public Process exec(String [] cmdArray, String [] envp);这个方法中cmdArray是一个执行的命令和参数的字符串数组,数组的第一个元素是要执行的命令往后依次都是命令的参数,envp感觉应该和C中的execve中的环境变量是一样的,envp中使用的是name=value的方式。
下面说一下,如何使用process来调用shell脚本
例如,我需要在linux下实行linux命令:sh test.sh,下面就是执行test.sh命令的方法:
这个var参数就是日期这个201102包的名字。
我爱编程网(https://www.52biancheng.com)小编还为大家带来求助,编写shell脚本,脚本内容执行一个java类的相关内容。
在Windows下写了个bat,你参考下吧,linux下也差不多。还要开虚拟机麻烦。
=======================Test0.java===========放在C:\下
public class Test0 {
public static void main(String[] args) {
System.out.println("输入的两个参数为:");
System.out.println(args[0]);
System.out.println(args[1]);
}
}
===========================test.bat ==============================
@echo off
rem 从控制台接收两个参数,并传递给java main的String[]args数组
echo 开始编译...
cd c:\
javac Test0.java
echo 编译成功!
set /p arg1=输入第一个参数:
set /p arg2=输入第二个参数:
echo -----------java执行输出----------------
java Test0 %arg1% %arg2%
echo ----------------------------------------
echo 操作完成!
pause我爱编程网
如何使用javac命令编译java源程序1.建文本文档,输入自己的java程序。2.然后另存为一个java文件。1.选择文件--->另存为--->名称为“HelloDate.java”----->选择“所有文件”。2.记住自己这个文件的存储位置。(方便调用哦!)3.打开程序---->附件--->命令提示符。4.java文本保存在了
.bat调用java文件的命令第一步:先右击创建一个txt文件,重命名为”run.bat“文件。第二步:将此文件复制到java文件的存放路径下。第三步:右击,选择编辑,之后在里面输入:javac文件名称.java//第一行是为了编译java文件为class文件java文件名称//本句话是为了执行class文件进行运行备注:bat文件默认的就是执行黑窗口命令,直接双击运行即
怎样用JAVA编写一个程序去关闭电脑上的一个软件呢?请帮我写一个完整的程序。我只提供思路,具体实现你自己去弄,很简单:1.在命令行里面输入tskillPPAP,就可以结束PPAP进程2.java中的Runtime类提供一个直接运行命令行程序的方法:Processp=null;p=Runtime.getRuntime().exec("tskillPPAP");Thread.
请教大神,比如说我写了一个java程序,我想让tomcat启动时自动去执行这个java程序。如何实现?java有个Listener!随tomcat启动而调用自己写的方法!也可以循环调用!就是每过几小时掉用自己的方法web.xml<listener><listener-class>com.function.SysContextListener</listene
sh脚本如何自动执行java程序,并且该脚本如何被定期调用?各位好我有一个问题,是这样: 环境:有一套管理系统(包括联机和批量),该管理系统白天运行联机系统,晚上运行批量系统。 目的:联机系统运行到晚上,会停掉,这时候通过在unix下的sh脚本调用并且启动批量系统。 sh脚本可以调用java程序,通过java程序就可以启动了批量系统。 andilyliao写道最简单的方法你可以用java写一
简述JAVA程序的编辑编译和运行过程第一步(编译):创建完源文件之后,程序会先被编译为.class文件。Java编译一个类时,如果这个类所依赖的类还没有被编译,编译器就会先编译这个被依赖的类,然后引用,否则直接引用,这个有点象make。如果java编译器在指定目录下找不到该类所其依赖的类的.class文件或者.java源文件的话,编译器话报“cantfindsymbol”的错
Java如何实现线程的暂停和重新启用?求大神JAVA中线程开始有start方法,暂停用sleep(time)方法,线程停止用stop方法,线程等待wait方法,java中没有线程重启一说,只能说线程唤醒notifyAll()或是notify方法,前一个notifyAll()方法是唤醒所有的已休眠或是等待状态下的线程。具体的一种参数请参照JDK文档。Java中的线程的生命周期大
如何在pythonIDLEShell窗口中编写程序计算圆的周长?可以按照以下步骤在PythonIDLEShell窗口中编写计算圆周长的程序:打开PythonIDLEShell窗口。在窗口中输入以下代码:pythonCopycoderadius=float(input("请输入圆的半径:"))circumference=2*3.14159*radiuspr
2023-12-21 16:29:16
2023-12-24 20:21:11
2024-04-13 17:18:48
2024-04-09 17:44:01
2024-04-04 05:10:44
2024-03-31 15:14:06