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