Jelajahi Sumber

运行java程序的各种平台脚本

ZhenQin 12 tahun lalu
induk
melakukan
d3e018fd7a
4 mengubah file dengan 178 tambahan dan 0 penghapusan
  1. 56 0
      javarun/build.xml
  2. 23 0
      javarun/jrun.bat
  3. 26 0
      javarun/jrun.sh
  4. 73 0
      javarun/prun.py

+ 56 - 0
javarun/build.xml

@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project name="arun" default="arun" basedir=".">
+    <description>Builds, tests, and runs the project arun.</description>
+	
+	<property name="main.class" value="" />
+	<property name="program.args" value="" />
+	<property name="jvm.args" value="-Xmx128m -Xms128m -XX:+UseG1GC" />
+	<property name="runfork" value="true" />
+	
+	<property name="src.dir" location="java" />
+	<property name="classes.dir" location="classes" />
+	<property name="lib.dir" location="lib"/>
+	<property name="tomcat.home" value="D:/Server/apache-tomcat-7.0.29"></property>
+	
+	
+	<path id="classpath">
+	    <path location="${classes.dir}" />
+	    <fileset dir="${lib.dir}" includes="**/*.jar"/>
+	</path>
+	
+	<target name="compile" description="run compile" >
+		<javac srcdir="${src.dir}" 
+			destdir="${classes.dir}" 
+			includeantruntime="no" 
+			excludes="**/*.svn,*.svn"
+			source="1.6"
+			target="1.6"
+			deprecation="true" 
+			failonerror="true"
+			debug="true">
+			<classpath refid="classpath" />
+		</javac>
+    </target>
+	
+	<target name="arun" description="run program" >
+		<java classname="${main.class}" fork="${runfork}">
+		    <jvmarg line="${jvm.args}"/>
+		    <classpath refid="classpath" />
+			<arg value="${program.args}"/>
+        </java>
+    </target>
+	
+	<target name="tomcat-start">
+        <exec dir="${tomcat.home}/bin" executable="cmd">
+            <env key="CATALINA_HOME" path="${tomcat.home}"/>
+            <arg value="/C startup.bat"/>
+        </exec>
+    </target>
+	
+    <target name="tomcat-stop">
+        <exec dir="${tomcat.home}/bin" executable="cmd">
+            <env key="CATALINA_HOME" path="${tomcat.home}"/>
+            <arg value="/c shutdown.bat"/>
+        </exec>
+     </target>
+</project>

+ 23 - 0
javarun/jrun.bat

@@ -0,0 +1,23 @@
+@echo off
+@setlocal enableextensions enabledelayedexpansion
+set MAINCLASS=com.sdyc.clstest.t.HelloWorld
+set LIB_DIR=lib
+set CLASS_DIR=classes
+set PRO_ARGS=
+set JVM_ARGS=-Xmx128m
+
+set jcommand=java.exe
+set CURRENT_DIR=%~dp0
+set runtype=-classpath
+set LIB_DIR=%CURRENT_DIR%\%LIB_DIR%
+set CLASSES_DIR=%CURRENT_DIR%\%CLASS_DIR%
+set APPEND_LIB=%CLASSES_DIR%
+set FILE_SUFFIX=*.jar
+
+@echo CURRENT_DIR=%CURRENT_DIR%
+@echo off
+
+for %%a in (%LIB_DIR%\%FILE_SUFFIX%) do (
+    set APPEND_LIB=!APPEND_LIB!;%%a
+)
+%jcommand% %JVM_ARGS% %runtype% %APPEND_LIB% %MAINCLASS% %PRO_ARGS%

+ 26 - 0
javarun/jrun.sh

@@ -0,0 +1,26 @@
+#!/usr/bin/env bash
+
+#JAVA_HOME=/opt/jdk1.7.0_07
+MAINCLASS="com.sdyc.clstest.t.HelloWorld"
+LIB_DIR="lib"
+CLASS_DIR="classes"
+PRO_ARGS=""
+JVM_ARGS="-Xmx128m"
+
+
+jcommand="java"
+current_dir=$(cd "$(dirname "$0")"; pwd)
+runtype="-classpath"
+APPEND_LIB=$current_dir"/"$CLASS_DIR
+
+echo "CURRENT_DIR="$current_dir
+
+#注意这个字符,不是',是`,数字键左边的那个键
+filelist=`ls $current_dir"/"$LIB_DIR`
+for f in $filelist
+  do
+    name=$current_dir"/"$LIB_DIR"/"$f
+    APPEND_LIB=$APPEND_LIB:$name
+  done
+
+exec $jcommand $JVM_ARGS $runtype $APPEND_LIB $MAINCLASS $PRO_ARGS

+ 73 - 0
javarun/prun.py

@@ -0,0 +1,73 @@
+
+'''
+Created on 2013-1-25
+
+@author: ZhenQin
+'''
+
+import os
+import platform
+
+MAIN_CLASS="com.sdyc.clstest.t.HelloWorld"
+DEFAULT_LIB="lib"
+DEFAULT_CP="classes"
+
+JVM_ARGS="-Xmx128m"
+PRO_ARGS=""
+
+
+SYSTEM="Windows"
+FILESEP="\\"
+SPLIT=";"
+sysstr = platform.system()
+if(sysstr =="Windows"):
+    SYSTEM="Windows"
+    FILESEP="\\"
+    SPLIT=";"
+elif(sysstr == "Linux"):
+    SYSTEM="Linux"
+    FILESEP="/"
+    SPLIT=":"
+else:
+    SYSTEM="Linux"
+    FILESEP="/"
+    SPLIT=":"
+
+def run(mainRun = "java"):
+    return mainRun
+
+def jvmArgs(vmArgs = ""):
+    vmArgs += JVM_ARGS
+    return vmArgs;
+
+def classpath(classpath = ""):
+    currentDir = os.getcwd()
+    libdir = currentDir + "/" + DEFAULT_LIB;
+    libfile = currentDir + FILESEP + DEFAULT_LIB;
+    clazzdir = currentDir + FILESEP + DEFAULT_CP;
+    if classpath != "" :
+        classpath = classpath + SPLIT + clazzdir;
+    else :
+        classpath = clazzdir;
+        
+    for fileordir in os.listdir(libdir):
+        if os.path.isfile(libdir + "/" + fileordir):
+            classpath = classpath + SPLIT + libfile + FILESEP + fileordir
+            
+    return classpath
+
+
+def mainClass():
+    return MAIN_CLASS;
+
+def args(args = ""):
+    return args + PRO_ARGS;
+
+if __name__ == '__main__':
+    run_arg = run() + " " + jvmArgs();
+    if classpath() != "" :
+        run_arg += (" -classpath " + classpath());
+    run_arg += (" " + mainClass() + " " + args())
+    print "CONSOLE_EXECUTE: \n" + run_arg
+    result = os.popen(run_arg).readlines()
+    print result