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项目并编写编译执行脚本...相关推荐

  1. Vs2019创建新项目时,没有任何模板,导致无法创建新项目

    Visual Studio创建新项目时,没有任何模板,导致无法创建新项目 问题描述 解决办法 问题描述 Vs2019创建新项目时,没有任何模板,导致无法创建新项目. 之前都是正常的,今天突然发现没法创 ...

  2. java web学什么软件_java web开发是什么?该怎么学习?

    Java中有前端这个开发方向,上回我们说到了javaweb是什么?你们应该对javaweb有了一定的了解了,那你们知道该如何学习web吗?小编这里整理了一些相关知识,快来看看吧. 一.javaweb是 ...

  3. java程序开发个人笔记_Java程序开发入门笔记

    Java程序开发入门笔记 如果你是这一个错误的话:错误:编码GBK的不可映射字符 这是因为我们编写的代码一般都是utf-8的格式而控制台用的不是utf-8格式所以就会出现中文输出的错误.这个时候我们可 ...

  4. java swing 表格控件_java swing 开发 -JTable

    最近利用空闲时间自己琢磨了一下java swing 编程,其实在从事javaweb之前我一直向往的就是java swing 开发,不知道为什么可能当时觉得Windows上的exe程序很是神奇,关于wi ...

  5. c mysql web开发实例教程_java web 开发入门实例

    学习是个技巧活,关键是要找到重点的地方,新手在这方面的坑尤其多.看别人的教程一步一步的跟着做,隔几步就遇到一个新知识点,忍不住就百度往深处了解,一晃半天就过去了. 有的知识点要深入学习的,有的是了解下 ...

  6. java 解压缩 工具类_Java实现的zip压缩及解压缩工具类示例

    本文实例讲述了Java实现的zip压缩及解压缩工具类.分享给大家供大家参考,具体如下: import java.io.BufferedInputStream; import java.io.Buffe ...

  7. 【Vue】Vue2创建移动端项目实战教程,创建移动端项目保姆级教程,接上一篇创建Vue2项目(下)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.创建vue2项目 二.移动端适配 1.安装插件flexible (适配移动端) 2.安装 postcss-pxto ...

  8. Java Web开发与实战_Java Web开发技术与实战项目

    [实例简介] 北大青鸟ACCP6.0 使用JSP/Servlet/Ajax技术开发新闻发布系统第一部分课件以及代码答案1到6章 [实例截图] [核心代码] 7.<JavaWeb开发技术> ...

  9. java工程编辑器中文乱码_Java Web开发项目中中文乱码解决方法汇总

    Java Web项目中,解决中文乱码方法总结如下 第一种情况:调用jsp页面中文显示乱码问题描述:通过浏览器调用jsp页面,在浏览器中显示的中文内容出现乱码. 解决方法:首先确认本jsp在编辑器中保存 ...

最新文章

  1. 【配置映射】—Entity Framework实例详解
  2. SAP系统日常管理 常见 t-code (二)
  3. dll oem证书导入工具_恶意代码分析之反射型DLL注入
  4. (背)顺序容器的操作-向容器中插入元素详细总结
  5. CodeForces - 1344D Monopole Magnets(dfs)
  6. tomcat路径配置详解
  7. canvas绘制图形
  8. Linux之ssh-copy-id命令
  9. 关于nagios监控系统添加主机和服务脚本
  10. 【Python乘方运算和开平方运算】
  11. 深入浅出MySQL规范
  12. android offtime编程,OFFTIME - 做功课就憋玩手机了! - Android 应用 - 【最美应用】
  13. Go调试工具Delve
  14. 【开发技能】研发线上事故总结!
  15. 最新精仿乐乐易支付网站模板源码
  16. 数字电路和模拟电路-5组合逻辑电路分析与设计
  17. 基于Springboot+vue前后端分离的项目--后端笔记
  18. blood pressure android app,BP(Blood Pressure) Diary
  19. Linux OS 学习笔记(1)
  20. 菏泽学院计算机学院郭琪琪,【北邮表白墙】表白贵校15级计算机学院小哥哥我男票周彧祺!撇撇,我等着你娶我呢,不要太晚哦~署名:来自北航的韩小之...

热门文章

  1. 【HTML5】Web存储、通信、地理位置
  2. Vue「一」—— webpack 的基本使用及常用配置
  3. 入门机器学习(十一)--机器学习系统的设计
  4. matlab画图小记tickdir\YTick\YTick
  5. 连接oracle配置文件参数,Hibernate3 +Oracle10g 集群,hibernate配置文件中如何编写连接参数...
  6. Github Actions
  7. 4004-基于邻接矩阵的新顶点的增加(C++,附思路)
  8. C语言中如何将小数或整数和字符串合二为一
  9. python对文件的相关操作
  10. mysql 主从 仅备份从库_MySQL主从复制 - 从数据库备份数据库