-
Notifications
You must be signed in to change notification settings - Fork 29
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
发布 1.0.230517 版本 : 修复Init_StoreInMemory不提供wkbs文件时无法初始化的问题,增加jar打包脚本
- Loading branch information
1 parent
0150a2d
commit a0c50f5
Showing
7 changed files
with
249 additions
and
9 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,120 @@ | ||
@echo off | ||
::在Windows系统中双击运行这个文件,自动完成java文件编译和打包成jar | ||
|
||
for %%i in (%cd%) do set dir=%%~ni | ||
if not "%dir%"=="scripts" ( | ||
echo 请到scripts目录中运行本脚本。 | ||
goto Pause | ||
) | ||
|
||
:Run | ||
cls | ||
cd ../ | ||
setlocal enabledelayedexpansion | ||
|
||
::修改这里指定需要使用的JDK(\结尾bin目录完整路径),否则将使用已安装的默认JDK | ||
set jdkBinDir= | ||
::set jdkBinDir=D:\xxxx\jdk-18_windows-x64_bin\jdk-18.0.2.1\bin\ | ||
|
||
if "%jdkBinDir%"=="" ( | ||
echo 正在读取JDK版本(如需指定JDK为特定版本或目录,请修改本bat文件内jdkBinDir为JDK bin目录): | ||
) else ( | ||
echo 正在读取JDK(%jdkBinDir%)版本: | ||
) | ||
|
||
|
||
%jdkBinDir%javac -version | ||
if errorlevel 1 ( | ||
echo 需要安装JDK才能编译java文件 | ||
goto Pause | ||
) | ||
|
||
:JarN | ||
echo. | ||
echo 请选择需要的生成操作: | ||
echo 1. 仅生成依赖jar文件(放到其他项目中Java代码调用,不含Test.java) | ||
echo 2. 生成可运行jar文件(包含Test.java控制台程序) | ||
echo 3. 退出 | ||
set step= | ||
set /p step=请输入序号: | ||
echo. | ||
if "%step%"=="1" goto Jar1 | ||
if "%step%"=="2" goto Jar2 | ||
if "%step%"=="3" goto Pause | ||
echo 序号无效!请重新输入 | ||
goto JarN | ||
|
||
:Clazz | ||
echo 编译中... | ||
%jdkBinDir%javac -encoding utf-8 -cp "./*" %Clazz_Files% | ||
if errorlevel 1 ( | ||
echo java文件编译失败 | ||
goto JarN | ||
) | ||
|
||
set dir=target\classes\com\github\xiangyuecn\areacity\query | ||
if exist target\classes rd /S /Q target\classes > nul | ||
md %dir% | ||
move *.class %dir% > nul | ||
|
||
echo 编译完成,正在生成jar... | ||
goto %Clazz_End% | ||
|
||
:Jar1 | ||
set Clazz_Files=AreaCityQuery.java | ||
set Clazz_End=Jar1_1 | ||
goto Clazz | ||
:Jar1_1 | ||
|
||
set dir=target\jarLib\ | ||
if not exist %dir% md %dir% | ||
set jarPath=%dir%areacity-query-geometry.lib.jar | ||
|
||
%jdkBinDir%jar cf %jarPath% -C target/classes/ com | ||
if errorlevel 1 ( | ||
echo 生成jar失败 | ||
) else ( | ||
copy jts-core-*.jar %dir% > nul | ||
echo 已生成jar,文件在源码根目录:%jarPath%,请copy这个jar + jts-core-xxx.jar 到你的项目中使用。 | ||
) | ||
echo. | ||
pause | ||
goto JarN | ||
|
||
:Jar2 | ||
set Clazz_Files=*.java | ||
set Clazz_End=Jar2_1 | ||
goto Clazz | ||
:Jar2_1 | ||
|
||
set dir=target\jarConsole\ | ||
set dir_libs=%dir%libs\ | ||
if not exist %dir% md %dir% | ||
if not exist %dir_libs% md %dir_libs% | ||
set jarPath=%dir%areacity-query-geometry.console.jar | ||
|
||
copy *.jar %dir_libs% > nul | ||
set jarArr= | ||
for /f %%a in ('dir /b "%dir_libs%"') do (set jarArr=!jarArr! libs/%%a) | ||
echo Class-Path:%jarArr% | ||
|
||
set MANIFEST=target\classes\MANIFEST.MF | ||
echo Manifest-Version: 1.0>%MANIFEST% | ||
echo Class-Path:%jarArr%>>%MANIFEST% | ||
echo Main-Class: com.github.xiangyuecn.areacity.query.Test>>%MANIFEST% | ||
|
||
%jdkBinDir%jar cfm %jarPath% target/classes/MANIFEST.MF -C target/classes/ com | ||
if errorlevel 1 ( | ||
echo 已生成jar失败 | ||
) else ( | ||
echo 已生成jar,文件在源码根目录:%jarPath%,libs内已包含依赖的其他jar文件,使用时请全部复制。 | ||
echo 请到这个文件夹里面后,执行命令运行这个jar: | ||
echo java -jar areacity-query-geometry.console.jar | ||
) | ||
echo. | ||
pause | ||
goto JarN | ||
|
||
:Pause | ||
pause | ||
:End |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,97 @@ | ||
#!/usr/bin/env bash | ||
#在Linux、macOS系统终端中运行这个文件,自动完成java文件编译和打包成jar | ||
|
||
dir=`pwd`; dir=`basename $dir`; | ||
if [ "$dir" != "scripts" ]; then echo "请到scripts目录中运行本脚本。"; exit; fi | ||
|
||
clear | ||
cd ../ | ||
|
||
#修改这里指定需要使用的JDK(/结尾bin目录完整路径),否则将使用已安装的默认JDK | ||
jdkBinDir="" | ||
#jdkBinDir="/home/download/jdk-19.0.1/bin/" | ||
|
||
if [ "$jdkBinDir" == "" ]; then | ||
echo "正在读取JDK版本(如需指定JDK为特定版本或目录,请修改本sh文件内jdkBinDir为JDK bin目录):" | ||
else | ||
echo "正在读取JDK(${jdkBinDir})版本:" | ||
fi | ||
function err(){ echo -e "\e[31m$1\e[0m"; } | ||
|
||
${jdkBinDir}javac -version | ||
[ ! $? -eq 0 ] && { err "需要安装JDK才能编译java文件"; exit; } | ||
|
||
|
||
function JarN(){ | ||
echo "" | ||
echo "请选择需要的生成操作:" | ||
echo " 1. 仅生成依赖jar文件(放到其他项目中Java代码调用,不含Test.java)" | ||
echo " 2. 生成可运行jar文件(包含Test.java控制台程序)" | ||
echo " 3. 退出" | ||
read -p "请输入序号:" step | ||
echo "" | ||
if [ "$step" == 1 ]; then Jar1; | ||
elif [ "$step" == 2 ]; then Jar2; | ||
elif [ "$step" == 3 ]; then exit; | ||
else echo "序号无效!请重新输入"; fi | ||
|
||
read -s -n1 -p "按任意键继续..."; | ||
echo "" | ||
JarN; | ||
} | ||
|
||
function Clazz(){ | ||
echo 编译中... | ||
${jdkBinDir}javac -encoding utf-8 -cp "./*" $1 | ||
[ ! $? -eq 0 ] && { err "java文件编译失败"; return 1; } | ||
|
||
dir="target/classes/com/github/xiangyuecn/areacity/query" | ||
if [ -e $dir ]; then rm -r target/classes > /dev/null 2>&1; fi | ||
mkdir -p $dir | ||
mv *.class $dir | ||
|
||
echo 编译完成,正在生成jar... | ||
} | ||
|
||
function Jar1(){ | ||
Clazz AreaCityQuery.java | ||
[ ! $? -eq 0 ] && { return 1; } | ||
|
||
dir="target/jarLib/" | ||
if [ ! -e $dir ]; then mkdir -p $dir; fi | ||
jarPath="${dir}areacity-query-geometry.lib.jar" | ||
|
||
${jdkBinDir}jar cf $jarPath -C target/classes/ com | ||
[ ! $? -eq 0 ] && { err "生成jar失败"; return 1; } | ||
cp jts-core-*.jar $dir | ||
echo "已生成jar,文件在源码根目录:${jarPath},请copy这个jar + jts-core-xxx.jar 到你的项目中使用。" | ||
} | ||
|
||
function Jar2(){ | ||
Clazz "*.java" | ||
[ ! $? -eq 0 ] && { return 1; } | ||
|
||
dir=target/jarConsole/ | ||
dir_libs=${dir}libs/ | ||
[ ! -e $dir ] && { mkdir -p $dir; } | ||
[ ! -e $dir_libs ] && { mkdir -p $dir_libs; } | ||
jarPath=${dir}areacity-query-geometry.console.jar | ||
|
||
cp *.jar $dir_libs | ||
jarArr="" | ||
for a in `ls $dir_libs`; do jarArr="${jarArr} libs/${a}"; done | ||
echo Class-Path: $jarArr | ||
|
||
MANIFEST=target/classes/MANIFEST.MF | ||
echo Manifest-Version: 1.0>$MANIFEST | ||
echo Class-Path:${jarArr}>>$MANIFEST | ||
echo Main-Class: com.github.xiangyuecn.areacity.query.Test>>$MANIFEST | ||
|
||
${jdkBinDir}jar cfm $jarPath target/classes/MANIFEST.MF -C target/classes/ com | ||
[ ! $? -eq 0 ] && { err "生成jar失败"; return 1; } | ||
echo "已生成jar,文件在源码根目录:${jarPath},libs内已包含依赖的其他jar文件,使用时请全部复制。" | ||
echo "请到这个文件夹里面后,执行命令运行这个jar:" | ||
echo " java -jar areacity-query-geometry.console.jar" | ||
} | ||
|
||
JarN; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters