java集成开发工具项目_Java项目开发(一)-不借助集成工具创建Java项目并编写编译执行脚本...
java-project(项目根目录)|--src| |--main(主目录)| | |--java(存放项目的.java文件)| | | |--com(包目录)| | | | |--mycompany| | | | | |--mypro| | | | | | |--App.java| | |--resources| | | |--application.properties| |--test(测试代码目录)| | |--java(存放项目的.java文件)| | | |--com(包目录)| | | | |--mycompany| | | | | |--mypro| | | | | | |--AppTest.java| | |--resources| | | |--application.properties|--libs(这里存放可能用到第三方的jar包)|--javaproject.bat(用于执行项目的Windows脚本文件)|--javaproject.sh(用于执行项目的Linux脚本文件)|--javaproject.txt(项目说明)|--sourcefiles(一个或多个对源文件进行列表的文件。)
我们没有引入第三方jar包
源码结构说明
其中,App.java如下所示:
这里 com.mycompany.mypro 是包名,和目录 com\mycompany\mypro 对应。
package com.mycompany.mypro;
public class App {
public static void main(String[] args) {
System.out.println("Hello Java!");
}
}
其中,AppTest.java如下所示:
packagecom.mycompany.mypro;public classAppTest {public static voidmain(String[] args) {
System.out.println("Hello Test!");
}
}
resources目录中可以写项目的配置文件,比如application.propertites,这里由于例子太简单,我就没有去实现。
javaproject.bat需要将编码格式改为ANSI或者GBK,因为在Windows下执行的脚本。否则,执行程序时,会出现中文乱码。
javaproject.bat如下所示:
@REMBegin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'
@echo off@REMset title of command window
title %0@REM当前脚本文件所在的路径
set CurProPath=%~dp0
@REM设置 java文件目录
set JavaPath=%CurProPath%src\main\java
@REM设置 java文件测试目录
set JavaTestPath=%CurProPath%src\test\java
@REM设置资源目录
set JavaResourcePath=%JavaPath%resources
@REM设置 class 目录
set JavaClassPath=%CurProPath%target\classes
@REM设置基础包名
set GroupIdPath=\com\mycompany\myproset GroupId=com.mycompany.mypro
@REM判断 class 目录是否存在,不存在就创建
if not exist %JavaClassPath% (
md%JavaClassPath%echo%JavaClassPath% 目录不存在,已创建该目录!) else (
echo%JavaClassPath% 目录已存在,无需创建!)@REM把java目录里面的资源文件 copy 到 class 目录中
if exist %JavaResourcePath% (
copy %JavaResourcePath%\* %JavaClassPath%)@setlocal
set ERROR_CODE=0@REMTo isolate internal variables from possible post scripts, we use another setlocal
@setlocal@REM==== START VALIDATION ====
if not "%JAVA_HOME%" == "" gotoOkJHomeecho.
echo Error: JAVA_HOME not found in your environment. >&2
echo Please set the JAVA_HOME variable in your environment to match the >&2
echo location of your Java installation. >&2
echo.
gotoerror:OkJHome
if exist "%JAVA_HOME%\bin\java.exe" gotoinitecho.
echo Error: JAVA_HOME is set to an invalid directory. >&2
echo JAVA_HOME = "%JAVA_HOME%" >&2
echo Please set the JAVA_HOME variable in your environment to match the >&2
echo location of your Java installation. >&2
echo.
gotoerror
@REM==== END VALIDATION ====
:init
set lib=.;target\classes
@REM%JAVA_HOME%\bin\javac -d target\classes -sourcepath src\java -classpath target\classes .\src\main\java\com\mycompany\mypro\App.java
@REM%JAVA_HOME%\bin\javac -d target\classes -sourcepath src\java -classpath target\classes .\src\test\java\com\mycompany\mypro\AppTest.java
@REM%JAVA_HOME%\bin\javac -d target\classes -sourcepath src\java -classpath target\classes %JavaPath%%GroupIdPath%\App.java
@REM%JAVA_HOME%\bin\javac -d target\classes -sourcepath src\java -classpath %lib% %JavaPath%%GroupIdPath%\App.java
%JAVA_HOME%\bin\javac -d target\classes -sourcepath src\java -classpath %lib% @sourcefiles
@REM%JAVA_HOME%\bin\java -classpath target\classes %GroupId%.App
%JAVA_HOME%\bin\java -classpath %lib% %GroupId%.Appexit@pause
javaproject.sh是linux下执行的脚本文件,由于时间原因,我这里没有写。
javaproject.txt是项目的说明文件,随便写。
sourcefiles文件是一个或多个对源文件进行列表的文件,如下所示:
.\src\main\java\com\mycompany\mypro\App.java
.\src\test\java\com\mycompany\mypro\AppTest.java
命令行执行脚本文件:
切换到该项目目录下,javaproject.bat就在该目录下,运行
.\javaproject.bat
结果如下图:
新的目录结构如下所示:
我们引入第三方jar包
我们现在的目录如下所示,我们只是添加了一个App2.java文件,并在libs中引入fastjson-1.2.68.jar包,并修改了javaproject.bat和sourcefiles
App2.java如下所示:
packagecom.mycompany.mypro;importcom.alibaba.fastjson.JSON;importcom.alibaba.fastjson.JSONObject;public classApp2 {public static voidmain(String[] args) {
String jsonString= "{\"password\":\"123456\",\"username\":\"dmego\"}";
JSONObject jsonObject=JSON.parseObject(jsonString);
jsonObject.put("password", "123");
jsonObject.put("username","zzz");
String json=JSON.toJSONString(jsonObject);
System.out.println(json);
}
}
javaproject.bat主要修改 init 之后的代码:
@REM当前脚本文件所在的路径
set CurProPath=%~dp0
@REM设置 java文件目录
set JavaPath=%CurProPath%src\main\java
@REM设置 java文件测试目录
set JavaTestPath=%CurProPath%src\test\java
@REM设置资源目录
set JavaResourcePath=%JavaPath%resources
@REM设置 class 目录
set JavaClassPath=%CurProPath%target\classes
@REM设置基础包名
set GroupIdPath=\com\mycompany\myproset GroupId=com.mycompany.mypro
@REM判断 class 目录是否存在,不存在就创建
if not exist %JavaClassPath% (
md%JavaClassPath%echo%JavaClassPath% 目录不存在,已创建该目录!) else (
echo%JavaClassPath% 目录已存在,无需创建!)@REM把java目录里面的资源文件 copy 到 class 目录中
if exist %JavaResourcePath% (
copy %JavaResourcePath%\* %JavaClassPath%)@setlocal
set ERROR_CODE=0@REMTo isolate internal variables from possible post scripts, we use another setlocal
@setlocal@REM==== START VALIDATION ====
if not "%JAVA_HOME%" == "" gotoOkJHomeecho.
echo Error: JAVA_HOME not found in your environment. >&2
echo Please set the JAVA_HOME variable in your environment to match the >&2
echo location of your Java installation. >&2
echo.
gotoerror:OkJHome
if exist "%JAVA_HOME%\bin\java.exe" gotoinitecho.
echo Error: JAVA_HOME is set to an invalid directory. >&2
echo JAVA_HOME = "%JAVA_HOME%" >&2
echo Please set the JAVA_HOME variable in your environment to match the >&2
echo location of your Java installation. >&2
echo.
gotoerror
@REM==== END VALIDATION ====
:init@REMset lib=.;target\classes
set lib=.;target\classes;lib\fastjson-1.2.68.jar
@REM%JAVA_HOME%\bin\javac -d target\classes -sourcepath src\java -classpath target\classes .\src\main\java\com\mycompany\mypro\App.java
@REM%JAVA_HOME%\bin\javac -d target\classes -sourcepath src\java -classpath target\classes .\src\test\java\com\mycompany\mypro\AppTest.java
@REM%JAVA_HOME%\bin\javac -d target\classes -sourcepath src\java -classpath target\classes %JavaPath%%GroupIdPath%\App.java
@REM%JAVA_HOME%\bin\javac -d target\classes -sourcepath src\java -classpath %lib% %JavaPath%%GroupIdPath%\App.java
%JAVA_HOME%\bin\javac -d target\classes -sourcepath src\java -cp %lib% @sourcefiles
@REM%JAVA_HOME%\bin\java -classpath target\classes %GroupId%.App
@REM%JAVA_HOME%\bin\java -classpath %lib% %GroupId%.App
@REM%JAVA_HOME%\bin\java -Dfile.encoding=UTF-8 -cp %lib%;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar %GroupId%.App2
%JAVA_HOME%\bin\java -Dfile.encoding=UTF-8 -cp %lib% %GroupId%.App2
@REMjar包
%JAVA_HOME%\bin\jar cvf target\classes.jar -C target\classes\ .
exit@pause
sourcefiles如下所示:
.\src\main\java\com\mycompany\mypro\App.java
.\src\main\java\com\mycompany\mypro\App2.java
.\src\test\java\com\mycompany\mypro\AppTest.java
命令行执行脚本文件:
切换到该项目目录下,javaproject.bat就在该目录下,运行
.\javaproject.bat
执行结果:
执行脚本之后的结构目录如下图所示:
java集成开发工具项目_Java项目开发(一)-不借助集成工具创建Java项目并编写编译执行脚本...相关推荐
- Vs2019创建新项目时,没有任何模板,导致无法创建新项目
Visual Studio创建新项目时,没有任何模板,导致无法创建新项目 问题描述 解决办法 问题描述 Vs2019创建新项目时,没有任何模板,导致无法创建新项目. 之前都是正常的,今天突然发现没法创 ...
- java web学什么软件_java web开发是什么?该怎么学习?
Java中有前端这个开发方向,上回我们说到了javaweb是什么?你们应该对javaweb有了一定的了解了,那你们知道该如何学习web吗?小编这里整理了一些相关知识,快来看看吧. 一.javaweb是 ...
- java程序开发个人笔记_Java程序开发入门笔记
Java程序开发入门笔记 如果你是这一个错误的话:错误:编码GBK的不可映射字符 这是因为我们编写的代码一般都是utf-8的格式而控制台用的不是utf-8格式所以就会出现中文输出的错误.这个时候我们可 ...
- java swing 表格控件_java swing 开发 -JTable
最近利用空闲时间自己琢磨了一下java swing 编程,其实在从事javaweb之前我一直向往的就是java swing 开发,不知道为什么可能当时觉得Windows上的exe程序很是神奇,关于wi ...
- c mysql web开发实例教程_java web 开发入门实例
学习是个技巧活,关键是要找到重点的地方,新手在这方面的坑尤其多.看别人的教程一步一步的跟着做,隔几步就遇到一个新知识点,忍不住就百度往深处了解,一晃半天就过去了. 有的知识点要深入学习的,有的是了解下 ...
- java 解压缩 工具类_Java实现的zip压缩及解压缩工具类示例
本文实例讲述了Java实现的zip压缩及解压缩工具类.分享给大家供大家参考,具体如下: import java.io.BufferedInputStream; import java.io.Buffe ...
- 【Vue】Vue2创建移动端项目实战教程,创建移动端项目保姆级教程,接上一篇创建Vue2项目(下)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.创建vue2项目 二.移动端适配 1.安装插件flexible (适配移动端) 2.安装 postcss-pxto ...
- Java Web开发与实战_Java Web开发技术与实战项目
[实例简介] 北大青鸟ACCP6.0 使用JSP/Servlet/Ajax技术开发新闻发布系统第一部分课件以及代码答案1到6章 [实例截图] [核心代码] 7.<JavaWeb开发技术> ...
- java工程编辑器中文乱码_Java Web开发项目中中文乱码解决方法汇总
Java Web项目中,解决中文乱码方法总结如下 第一种情况:调用jsp页面中文显示乱码问题描述:通过浏览器调用jsp页面,在浏览器中显示的中文内容出现乱码. 解决方法:首先确认本jsp在编辑器中保存 ...
最新文章
- 【配置映射】—Entity Framework实例详解
- SAP系统日常管理 常见 t-code (二)
- dll oem证书导入工具_恶意代码分析之反射型DLL注入
- (背)顺序容器的操作-向容器中插入元素详细总结
- CodeForces - 1344D Monopole Magnets(dfs)
- tomcat路径配置详解
- canvas绘制图形
- Linux之ssh-copy-id命令
- 关于nagios监控系统添加主机和服务脚本
- 【Python乘方运算和开平方运算】
- 深入浅出MySQL规范
- android offtime编程,OFFTIME - 做功课就憋玩手机了! - Android 应用 - 【最美应用】
- Go调试工具Delve
- 【开发技能】研发线上事故总结!
- 最新精仿乐乐易支付网站模板源码
- 数字电路和模拟电路-5组合逻辑电路分析与设计
- 基于Springboot+vue前后端分离的项目--后端笔记
- blood pressure android app,BP(Blood Pressure) Diary
- Linux OS 学习笔记(1)
- 菏泽学院计算机学院郭琪琪,【北邮表白墙】表白贵校15级计算机学院小哥哥我男票周彧祺!撇撇,我等着你娶我呢,不要太晚哦~署名:来自北航的韩小之...
热门文章
- 【HTML5】Web存储、通信、地理位置
- Vue「一」—— webpack 的基本使用及常用配置
- 入门机器学习(十一)--机器学习系统的设计
- matlab画图小记tickdir\YTick\YTick
- 连接oracle配置文件参数,Hibernate3 +Oracle10g 集群,hibernate配置文件中如何编写连接参数...
- Github Actions
- 4004-基于邻接矩阵的新顶点的增加(C++,附思路)
- C语言中如何将小数或整数和字符串合二为一
- python对文件的相关操作
- mysql 主从 仅备份从库_MySQL主从复制 - 从数据库备份数据库