首页 > 后端开发 > 正文

请教大神Linux下编写shell脚本,利用javac如何编译完整的java工程

2024-05-07 13:54:58 | 我爱编程网

今天我爱编程网小编为大家带来了请教大神Linux下编写shell脚本,利用javac如何编译完整的java工程,希望能帮助到大家,一起来看看吧!

本文目录一览:

请教大神Linux下编写shell脚本,利用javac如何编译完整的java工程

请教大神Linux下编写shell脚本,利用javac如何编译完整的java工程

#!/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 出现警告时终止编译

@<文件名> 从文件读取选项和文件名

请教大神Linux下编写shell脚本,利用javac如何编译完整的java工程

在windows系统中开发的java程序要调用linux下的shell脚本怎么办

在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包的名字。

请教大神Linux下编写shell脚本,利用javac如何编译完整的java工程

求助,编写shell脚本,脚本内容执行一个java类

我爱编程网(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我爱编程网

以上就是我爱编程网整理的请教大神Linux下编写shell脚本,利用javac如何编译完整的java工程相关内容,想要了解更多信息,敬请查阅我爱编程网。更多相关文章关注我爱编程网:www.52biancheng.com

免责声明:文章内容来自网络,如有侵权请及时联系删除。
与“请教大神Linux下编写shell脚本,利用javac如何编译完整的java工程”相关推荐
如何使用javac命令编译java源程序
如何使用javac命令编译java源程序

如何使用javac命令编译java源程序1.建文本文档,输入自己的java程序。2.然后另存为一个java文件。1.选择文件---&gt;另存为---&gt;名称为“HelloDate.java”-----&gt;选择“所有文件”。2.记住自己这个文件的存储位置。(方便调用哦!)3.打开程序----&gt;附件---&gt;命令提示符。4.java文本保存在了

2024-04-02 12:49:21
bat脚本如何调用JAVA程序
bat脚本如何调用JAVA程序

.bat调用java文件的命令第一步:先右击创建一个txt文件,重命名为”run.bat“文件。第二步:将此文件复制到java文件的存放路径下。第三步:右击,选择编辑,之后在里面输入:javac文件名称.java//第一行是为了编译java文件为class文件java文件名称//本句话是为了执行class文件进行运行备注:bat文件默认的就是执行黑窗口命令,直接双击运行即

2024-03-16 13:21:26
怎样用JAVA编写一个程序去关闭电脑上的一个软件呢?请帮我写一个完整的程序。
怎样用JAVA编写一个程序去关闭电脑上的一个软件呢?请帮我写一个完整的程序。

怎样用JAVA编写一个程序去关闭电脑上的一个软件呢?请帮我写一个完整的程序。我只提供思路,具体实现你自己去弄,很简单:1.在命令行里面输入tskillPPAP,就可以结束PPAP进程2.java中的Runtime类提供一个直接运行命令行程序的方法:Processp=null;p=Runtime.getRuntime().exec("tskillPPAP");Thread.

2024-05-28 15:33:48
请教大神,比如说我写了一个java程序,我想让tomcat启动时自动去执行这个java程序。如何实现?
请教大神,比如说我写了一个java程序,我想让tomcat启动时自动去执行这个java程序。如何实现?

请教大神,比如说我写了一个java程序,我想让tomcat启动时自动去执行这个java程序。如何实现?java有个Listener!随tomcat启动而调用自己写的方法!也可以循环调用!就是每过几小时掉用自己的方法web.xml&lt;listener&gt;&lt;listener-class&gt;com.function.SysContextListener&lt;/listene

2024-04-12 14:03:09
sh脚本如何自动执行java程序,并且该脚本如何被定期调用?
sh脚本如何自动执行java程序,并且该脚本如何被定期调用?

sh脚本如何自动执行java程序,并且该脚本如何被定期调用?各位好我有一个问题,是这样: 环境:有一套管理系统(包括联机和批量),该管理系统白天运行联机系统,晚上运行批量系统。 目的:联机系统运行到晚上,会停掉,这时候通过在unix下的sh脚本调用并且启动批量系统。 sh脚本可以调用java程序,通过java程序就可以启动了批量系统。 andilyliao写道最简单的方法你可以用java写一

2024-03-25 17:04:12
Java程序编译运行原理 简述Java程序从编写到运行的基本步骤,并说明Java的基本工作原理
Java程序编译运行原理 简述Java程序从编写到运行的基本步骤,并说明Java的基本工作原理

简述JAVA程序的编辑编译和运行过程第一步(编译):创建完源文件之后,程序会先被编译为.class文件。Java编译一个类时,如果这个类所依赖的类还没有被编译,编译器就会先编译这个被依赖的类,然后引用,否则直接引用,这个有点象make。如果java编译器在指定目录下找不到该类所其依赖的类的.class文件或者.java源文件的话,编译器话报“cantfindsymbol”的错

2024-05-09 00:57:01
Java如何实现线程的暂停和重新启用?求大神
Java如何实现线程的暂停和重新启用?求大神

Java如何实现线程的暂停和重新启用?求大神JAVA中线程开始有start方法,暂停用sleep(time)方法,线程停止用stop方法,线程等待wait方法,java中没有线程重启一说,只能说线程唤醒notifyAll()或是notify方法,前一个notifyAll()方法是唤醒所有的已休眠或是等待状态下的线程。具体的一种参数请参照JDK文档。Java中的线程的生命周期大

2024-06-23 23:07:43
如何在python IDLE Shell窗口中编写程序计算圆的周长?
如何在python IDLE Shell窗口中编写程序计算圆的周长?

如何在pythonIDLEShell窗口中编写程序计算圆的周长?可以按照以下步骤在PythonIDLEShell窗口中编写计算圆周长的程序:打开PythonIDLEShell窗口。在窗口中输入以下代码:pythonCopycoderadius=float(input("请输入圆的半径:"))circumference=2*3.14159*radiuspr

2023-12-13 02:25:56