导航:首页 > 源码编译 > javac编译脚本

javac编译脚本

发布时间:2022-12-23 03:39:23

Ⅰ sublime编译java没有结果怎么回事

按照以下的步骤修改sublime text 2的编译系统脚本。
在选项卡Preferences > Browse Packages.. 打开sublime的包目录
转到Java Folder
打开 JavaC.sublime-build 替换下面的命令
"cmd": ["javac", "$file"],

在 Windows 下使用以下命令替换
"cmd": ["runJava.bat", "$file"],

在 Ubuntu 下使用以下命令替换
"cmd": ["runJava.sh", "$file_base_name"],

Step #4 – 现在写个测试程序,使用CTRL+B 编译运行。$("input[name*=textfield_@]")就可以了

Ⅱ 用shell脚本怎样编译java工程

用shell脚本怎样编译java工程


编译java工程一般直接用IDE或者用Ant、Maven之类的工具,很少有人用纯shell来编译java工程。正好遇到这样一个应该,用这篇博文做一下记录。
案例:用eclipse写了一个java project,然后编译打成jar包。

这个可以采用eclipse自带的Export就可以导出jar了。但是为了软件自动化等巴拉巴拉的原因,采用存shell脚本编译。

就是制定了运行的main-class(有public static void main(String args[])的类)。
将这个文件拷贝到iec104的根目录下,然后执行脚本compile.sh,内容如下:

#!/bin/bash

cur_dir=$(pwd)
echo $cur_dir

function do_compile_iec104(){
# echo $cur_dir
iec104=$cur_dir/iec104
iec104_src=$cur_dir/iec104/src
iec104_bin=$cur_dir/iec104/bin
# echo $iec104_src
# echo $iec104_bin
iec104_class=$cur_dir/iec104/class

# 将iec104的src目录下的所有java文件的名称存入到iec104/src/sources.list文件中
rm -rf $iec104_src/sources.list
find $iec104_src -name "*.java" > $iec104_src/sources.list
cat $iec104_src/sources.list

# $iec104_class是存放编译的class文件的目录
rm -rf $iec104_class
mkdir $iec104_class

# 这里开始编译java文件,注意这里的-encoding utf-8,刚开始并没有加入这个,然后就报了一堆错误,纠结了很久才发现,这里给各位提个醒了。
javac -d $iec104_class -encoding utf-8 -classpath $iec104_bin/classes12.jar:$iec104_bin/junit-4.10.jar:$iec104_bin/log4j-1.2.17.jar:$iec104_bin/mysql-connector-java-5.0.5-bin.jar:$iec104_bin/RXTXcomm.jar -g -sourcepath $iec104_src @$iec104_src/sources.list

# 由于用到了log4j,所以要将log4j的配置文件一并放入,如果没有用到,可以忽略这句
cp $iec104_src/log4j.properties $iec104_class

# 如果原来在iec104目录下有jar报就删除掉,因为要生成新的
rm $iec104/iec104.jar
# 这里要cd到存放class的目录,否则如果采用绝对路径编译,编译出来的jar包里面就是绝对路径了,这样就会有问题
# jar -cvfm $iec104/iec104.jar $iec104/MANIFEST.MF $iec104_class/*这样是错误的
cd $iec104_class
jar -cvfm $iec104/iec104.jar $iec104/MANIFEST.MF *
# 赋予可执行权限
sudo chmod a+x $iec104/iec104.jar
}

do_compile_iec104
exit 0

运行这个脚本(linux下)就可以编译并且在iec104的目录下就可以看到iec104.jar文件了。
这里补充下java命令的基本知识:
javac 用于编译Java文件,格式为:
java [options] [sourcefiles] [@files]
其中:
options:命令行选项;
sourcefiles:一个或多个要编译的源文件;
@files:一个或多个对源文件进行列表的文件,有时候要编译的文件很多,一个个敲命令会显得很长,也不方便修改,可以把要编译的源文件列在文件中,在文件名前加@,这样就可以对多个文件进行编译,对编译一个工程很有用,方便,省事。
有几个比较重要的选项:
-d 用于指定编译成的class文件的存放位置,缺省情况下不指定class文件的存放目录,编译的class文件将和源文件在同一目录下;
-classpath 可以简写成-cp,用于搜索编译所需的class文件,指出编译所用到的class文件的位置,如jar、zip或者其他包含class文件的目录,指定该选项会覆盖CLASSPATH的设定;
-sourcepath用于搜索编译所需的源文件(即java文件),指定要搜索的源文件的位置,如jar、zip或其他包含java文件的目录;
需要注意windows下和linux下文件路径分隔符和文件列表(即-classpath和-sourcepath指定的文件)分隔符的区别:
windows下文件路径分隔符用 ,文件列表分隔符用分号 ;
linux下文件路径分隔符用 / ,文件列表分隔符用冒号 :

Ⅲ javac 编译,如何引用定义在其他文件夹的包

问题是由于你没有编译包路径,导致在使用类的时候找不到,请按如下方法进行编译并运行。第一步,编译DataForm.java
javac -d .\ DataForm.java
-d 这个参数会在 DataForm.java 文件所在路径下生成 data 文件夹,里面有一个文件 DataForm.clsaa 第二步,编译Service.java
javac -d .\ Service.java第三步,执行Service
java -cp .\ Service注意:
由于不知道你的 Service.java 是否有 package 目录,如果有将 package目录加到类鸣的前面。
如:
Service.java 中 package 路径如下:
package service;
执行脚本将变为:
java -cp .\ service.Service有问题请给我留言

Ⅳ Javac 编译java脚本出错的问题

  1. 类型不一致无法进行比较;

  2. 使用正规编辑器,eclipse进行编译,解析,防止没必要的浪费时间

Ⅳ 请教大神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 <options> <source files>
其中, 可能的选项包括:
-g 生成所有调试信息
-g:none 不生成任何调试信息
-g:{lines,vars,source} 只生成某些调试信息
-nowarn 不生成任何警告
-verbose 输出有关编译器正在执行的操作的消息
-deprecation 输出使用已过时的 API 的源位置
-classpath <路径> 指定查找用户类文件和注释处理程序的位置
-cp <路径> 指定查找用户类文件和注释处理程序的位置
-sourcepath <路径> 指定查找输入源文件的位置
-bootclasspath <路径> 覆盖引导类文件的位置
-extdirs <目录> 覆盖所安装扩展的位置
-endorseddirs <目录> 覆盖签名的标准路径的位置
-proc:{none,only} 控制是否执行注释处理和/或编译。
-processor <class1>[,<class2>,<class3>...] 要运行的注释处理程序的名称; 绕过默认的搜索进程
-processorpath <路径> 指定查找注释处理程序的位置
-parameters 生成元数据以用于方法参数的反射
-d <目录> 指定放置生成的类文件的位置
-s <目录> 指定放置生成的源文件的位置
-h <目录> 指定放置生成的本机标头文件的位置
-implicit:{none,class} 指定是否为隐式引用文件生成类文件
-encoding <编码> 指定源文件使用的字符编码
-source <发行版> 提供与指定发行版的源兼容性
-target <发行版> 生成特定 VM 版本的类文件
-profile <配置文件> 请确保使用的 API 在指定的配置文件中可用
-version 版本信息
-help 输出标准选项的提要
-A关键字[=值] 传递给注释处理程序的选项
-X 输出非标准选项的提要
-J<标记> 直接将 <标记> 传递给运行时系统
-Werror 出现警告时终止编译
@<文件名> 从文件读取选项和文件名

Ⅵ 如何用javac 和java 编译运行整个Java工程

1、将编译好的比如Demo.java文件放到某个盘下(比如D盘)

2、进入控制台(window+R键---->输入cmd)

以上完成整个在控制台运行java程序的流程。

Ⅶ 如何在linux终端里面运行java

通常用命令、shell脚本,或者直接运行程序可执行的程序。像java的jar包可以用java -jar xxx.jar执行。eclipse也可以cd到eclipse解压目录,然后./eclipse执行eclipse这个程序。
可以看看shell脚本,和java相关的命令和工具(javac,javap,jvisualvm,jconsole等等)。
所有的软件都有一个可执行脚本或者可执行程序。cd过去sh xxx.sh 或者./xxx.sh就可以在命令行执行。像tomcat也有startup.sh和shutdown.sh。你也可以看看,其实就是一个很复杂的shell脚本

阅读全文

与javac编译脚本相关的资料

热点内容
php函数传递数组 浏览:629
人工峰群算法的目标函数 浏览:466
如何删加密文档 浏览:103
涂鸦app一键执行如何删除 浏览:754
安卓手机如何打开fr3文件 浏览:741
压缩袋8丝和14丝是什么意思 浏览:645
程序员大咖java 浏览:68
苹果手机文档安卓上怎么打开 浏览:527
如何做淘宝代理服务器 浏览:666
gz压缩文件夹 浏览:179
字母h从右往左跑的c语言编程 浏览:129
安卓手机如何拥有苹果手机横条 浏览:767
业余编程语言哪个好学 浏览:141
按照文件夹分个压缩 浏览:104
航空工业出版社单片机原理及应用 浏览:759
如何在电信app上绑定亲情号 浏览:376
安卓的怎么用原相机拍月亮 浏览:805
配音秀为什么显示服务器去配音了 浏览:755
c盘清理压缩旧文件 浏览:325
app怎么交付 浏览:343