diff --git a/src/main/java/Bootstrap.java b/src/main/java/Bootstrap.java index 3bdd2a3..da3ab33 100644 --- a/src/main/java/Bootstrap.java +++ b/src/main/java/Bootstrap.java @@ -11,9 +11,9 @@ import java.security.ProtectionDomain; import java.util.HashMap; import java.util.Map; +import java.util.Properties; -import javax.swing.SpinnerListModel; - +import org.apache.log4j.PropertyConfigurator; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.util.StringUtil; import org.eclipse.jetty.webapp.WebAppContext; @@ -46,13 +46,19 @@ public static void main(String[] args) throws Exception { ENV_MAP.put(PREFIX + "home", dim[1]); } else if (dim[0].equals("--log")) { ENV_MAP.put(PREFIX + "log", dim[1]); + } else if (dim[0].equals("--maven")) { + ENV_MAP.put(PREFIX + "maven", dim[1]); } } } } + getOrCreateEnv(PREFIX + "maven", "mvn"); getOrCreateEnv(PREFIX + "host", null); - getOrCreateEnv(PREFIX + "log", "log/jcoder.log"); + String logPath = getOrCreateEnv(PREFIX + "log", "log/jcoder.log"); + + createLog4jConfig(logPath); + String home = getOrCreateEnv(PREFIX + "home", new File(System.getProperty("user.home"), ".jcoder").getAbsolutePath()); int port = Integer.parseInt(getOrCreateEnv(PREFIX + "port", "8080")); @@ -92,6 +98,26 @@ public static void main(String[] args) throws Exception { server.join(); } + /** + * config log4j setting + * + * @param logPath + */ + private static void createLog4jConfig(String logPath) { + Properties pro = new Properties(); + pro.put("log4j.rootLogger", "info, stdout,R"); + pro.put("log4j.appender.stdout", "org.apache.log4j.ConsoleAppender"); + pro.put("log4j.appender.stdout.layout", "org.apache.log4j.PatternLayout "); + pro.put("log4j.appender.stdout.layout.ConversionPattern", "%c-%-4r %-5p [%d{yyyy-MM-dd HH:mm:ss}] %m%n"); + pro.put("log4j.appender.R", "org.apache.log4j.DailyRollingFileAppender"); + pro.put("log4j.appender.R.File", logPath); + pro.put("log4j.appender.R.DatePattern ", " '.'yyyy-MM-dd"); + pro.put("log4j.appender.R.layout", "org.apache.log4j.PatternLayout"); + pro.put("log4j.appender.R.layout.ConversionPattern", "%d{HH:mm:ss} %c{1} %-5p %m%n"); + pro.put("log4j.logger.org.atmosphere.cpr.AsynchronousProcessor", "FATAL"); + PropertyConfigurator.configure(pro); + } + private static void parseFile(String file) throws UnsupportedEncodingException, FileNotFoundException, IOException { try (BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file), "utf-8"))) { String temp = null; @@ -108,7 +134,7 @@ private static void parseFile(String file) throws UnsupportedEncodingException, continue; } - String[] split = temp.split("\\s+"); + String[] split = temp.split("="); if (split.length == 2) { String key = split[0].trim(); @@ -129,11 +155,12 @@ private static void makeFiles(File JcoderHome) throws FileNotFoundException, IOE if (!libDir.exists()) { libDir.mkdirs(); wirteFile(new File(libDir, "pom.xml").getAbsolutePath(), "utf-8", - "\n" + "\n" + " 4.0.0\n" - + " org.nlpcn\n" + " jcoder\n" + " 1.2\n" + " use maven to down jars\n" - + " \n" + " \n" + "\n" + " \n" + "\n" + " \n" + " compile\n" + " \n" - + ""); + "\n" + + "\n" + + " 4.0.0\n" + " org.nlpcn\n" + " jcoder\n" + " 1.2\n" + + " use maven to down jars\n" + " \n" + " \n" + "\n" + " \n" + "\n" + " \n" + + " compile\n" + " \n" + ""); } File iocFile = new File(JcoderHome, "ioc.js"); // create ioc file @@ -176,7 +203,7 @@ private static String getOrCreateEnv(String key, String def) { if (value != null) { System.setProperty(key, value); } - + return value; } diff --git a/src/main/java/org/nlpcn/jcoder/App.java b/src/main/java/org/nlpcn/jcoder/App.java index 7de203e..fe16419 100644 --- a/src/main/java/org/nlpcn/jcoder/App.java +++ b/src/main/java/org/nlpcn/jcoder/App.java @@ -5,13 +5,12 @@ import org.nutz.mvc.annotation.IocBy; import org.nutz.mvc.annotation.Modules; import org.nutz.mvc.annotation.SetupBy; -import org.nutz.mvc.ioc.provider.ComboIocProvider; +import org.nutz.mvc.ioc.provider.AnnotationIocProvider; -@Modules(packages = {"org.nlpcn.jcoder.controller"}, scanPackage = true) -@IocBy(type = ComboIocProvider.class, args = {"*org.nutz.ioc.loader.json.JsonLoader", "*org.nutz.ioc.loader.annotation.AnnotationIocLoader", "org.nlpcn.jcoder"}) +@Modules(packages = { "org.nlpcn.jcoder.controller" }, scanPackage = true) +@IocBy(type = AnnotationIocProvider.class, args = { "org.nlpcn.jcoder" }) @Encoding(input = "UTF-8", output = "UTF-8") @SetupBy(SiteSetup.class) public class App { } - diff --git a/src/main/java/org/nlpcn/jcoder/controller/JarAction.java b/src/main/java/org/nlpcn/jcoder/controller/JarAction.java index 70d03e8..680071b 100644 --- a/src/main/java/org/nlpcn/jcoder/controller/JarAction.java +++ b/src/main/java/org/nlpcn/jcoder/controller/JarAction.java @@ -232,9 +232,9 @@ private void authValidateView(Long groupId) { @Ok("redirect:/jar/list") public Object remove(@Param("path") String path) throws IOException { if (JarService.removeJar(new File(path))) { - return StaticValue.okMessage("成功删除jar:" + path); + return StaticValue.okMessage("delete jar:" + path); } else { - return StaticValue.errMessage("失败删除jar:" + path + " 可能是因为这不是一个jar包,或者jar包是maven管理的"); + return StaticValue.errMessage("delete jar fail :" + path + " may be it is not a jar or it a maven jar"); } } diff --git a/src/main/java/org/nlpcn/jcoder/service/JarService.java b/src/main/java/org/nlpcn/jcoder/service/JarService.java index a76c666..d0ab0cb 100644 --- a/src/main/java/org/nlpcn/jcoder/service/JarService.java +++ b/src/main/java/org/nlpcn/jcoder/service/JarService.java @@ -38,7 +38,7 @@ public class JarService { private static final String CONFIG_PATH = JAR_PATH + "/config.properties"; - private static final String MAVEN_PATH = "MAVEN_PATH"; + private static final String MAVEN_PATH = "maven"; private static final String MD5 = "MD5"; @@ -104,6 +104,10 @@ public static String getMavenPath() { } if (StringUtil.isBlank(mavenPath)) { + mavenPath = System.getProperty(StaticValue.PREFIX + "maven"); + } + + if(StringUtil.isBlank(mavenPath)){ String home = getPathByVar("MAVEN_HOME"); if (StringUtil.isBlank(home)) { home = getPathByVar("M2_HOME"); @@ -114,6 +118,7 @@ public static String getMavenPath() { mavenPath = home + "/bin/mvn"; } } + return mavenPath; } diff --git a/src/main/java/org/nlpcn/jcoder/util/StaticValue.java b/src/main/java/org/nlpcn/jcoder/util/StaticValue.java index 82d9152..63960e6 100644 --- a/src/main/java/org/nlpcn/jcoder/util/StaticValue.java +++ b/src/main/java/org/nlpcn/jcoder/util/StaticValue.java @@ -5,7 +5,6 @@ import org.apache.log4j.Logger; import org.nlpcn.commons.lang.util.MD5; -import org.nlpcn.commons.lang.util.StringUtil; import org.nlpcn.jcoder.App; import org.nlpcn.jcoder.run.mvc.ApiUrlMappingImpl; import org.nlpcn.jcoder.util.dao.BasicDao; @@ -22,14 +21,13 @@ public class StaticValue { private static final Logger LOG = Logger.getLogger(StaticValue.class); - private static final String PREFIX = "jcoder_"; + public static final String PREFIX = "jcoder_"; - public static final String HOME = System.getProperty(PREFIX + "home"); - public static final String HOST = System.getProperty(PREFIX + "host"); - public static final String LOG_PATH = System.getProperty(PREFIX + "log"); + public static final String HOME = getValueOrCreate("home", new File(System.getProperty("user.home"), ".jcoder").getAbsolutePath()); + public static final String HOST = getValueOrCreate("host", null); + public static final String LOG_PATH = getValueOrCreate("log", "log/jcoder.log"); public static final File HOME_FILE = new File(HOME); - public static final File RESOURCE_FILE = new File(HOME_FILE, "resource"); public static final File LIB_FILE = new File(HOME_FILE, "lib"); @@ -67,6 +65,15 @@ public static String errMessage(Exception e) { return error; } + private static String getValueOrCreate(String key, String def) { + String value = System.getProperty(PREFIX + key); + if (value == null) { + return def; + } else { + return value; + } + } + /** * 失败消息 * diff --git a/src/main/resources/ioc.js b/src/main/resources/ioc.js deleted file mode 100644 index 2585cf0..0000000 --- a/src/main/resources/ioc.js +++ /dev/null @@ -1,3 +0,0 @@ -var ioc = { - -}; diff --git a/src/main/resources/log4j.properties b/src/main/resources/log4j.properties deleted file mode 100644 index e43aeaf..0000000 --- a/src/main/resources/log4j.properties +++ /dev/null @@ -1,14 +0,0 @@ -log4j.rootLogger=info, stdout,R - -log4j.appender.stdout=org.apache.log4j.ConsoleAppender -log4j.appender.stdout.layout=org.apache.log4j.PatternLayout -log4j.appender.stdout.layout.ConversionPattern=%c-%-4r %-5p [%d{yyyy-MM-dd HH:mm:ss}] %m%n - -log4j.appender.R=org.apache.log4j.DailyRollingFileAppender -log4j.appender.R.File=log/jcoder.log -log4j.appender.R.DatePattern = '.'yyyy-MM-dd -log4j.appender.R.layout=org.apache.log4j.PatternLayout -log4j.appender.R.layout.ConversionPattern=%d{HH:mm:ss} %c{1} %-5p %m%n - -## Disable other log -log4j.logger.org.atmosphere.cpr.AsynchronousProcessor=FATAL