Java專案開發(一)
阿新 • • 發佈:2021-01-07
2021-01-07
Java專案開發(一)
前提是安裝配置了java環境。
我們這裡面Java專案開發不用Idea、Eclipse、MyEclipse等生成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如下所示:
package com.mycompany.mypro; public class AppTest { public static void main(String[] args) { System.out.println("Hello Test!"); } }
resources目錄中可以寫專案的配置檔案,比如application.propertites,這裡由於例子太簡單,我就沒有去實現。
javaproject.bat需要將編碼格式改為ANSI或者GBK,因為在Windows下執行的指令碼。否則,執行程式時,會出現中文亂碼。
javaproject.bat如下所示:
@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' @echo off @REM set 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\mypro set 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 @REM To isolate internal variables from possible post scripts, we use another setlocal @setlocal @REM ==== START VALIDATION ==== if not "%JAVA_HOME%" == "" goto OkJHome echo. 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. goto error :OkJHome if exist "%JAVA_HOME%\bin\java.exe" goto init echo. 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. goto error @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%.App exit @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
結果如下圖:
新的目錄結構如下所示: