一:开发简单java需要把应用打包成jar,那么maven如下配置:
<build>
<finalName>assist</finalName>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<appendAssemblyId>false</appendAssemblyId>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>org.howbuy.scheduler.assist.App</mainClass>
</manifest>
</archive>
<skipTests>true</skipTests>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>assembly</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
二需要读取配置文件:config.java如下
public class Config {
private String ip;
private String username;
private String password;
private static final Logger logger = LogManager.getLogger(App.class);
public Config() {
init();
}
public void init() {
String str = System.getProperty("user.dir");
logger.info("读取到user.dir:{}", str);
String sp = File.separator;
str = str + sp + "config.properties";
logger.info("第一次读取config.properties路径:{}", str);
Properties properties = new Properties();
try {
properties.load(new FileInputStream(str));
} catch (Exception e) {
try {
properties.load(Config.class.getResourceAsStream("/config.properties"));
} catch (Exception e1) {
e1.printStackTrace();
return;
}
}
this.ip = properties.getProperty("mysql.url");
this.username = properties.getProperty("mysql.username");
this.password = properties.getProperty("mysql.password");
logger.info("读取到配置:{},{},{}", ip, username, password);
}
public String getIp() {
return this.ip;
}
public void setIp(String ip) {
this.ip = ip;
}
public String getUsername() {
return this.username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return this.password;
}
public void setPassword(String password) {
this.password = password;
}
}
三日志如下:
3.1 pom.xml
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.7</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.7</version>
</dependency>
3.2 log4j2.xml
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="warn" name="MyApp">
<appenders>
<Console name="Console" target="SYSTEM_OUT">
<ThresholdFilter level="debug" />
<PatternLayout
pattern="[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n" />
</Console>
<File name="log" fileName="logs/assist.log" append="true">
<ThresholdFilter level="debug" />
<PatternLayout
pattern="[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n" />
</File>
</appenders>
<loggers>
<root level="debug">
<appender-ref ref="Console"></appender-ref>
<appender-ref ref="log"></appender-ref>
</root>
</loggers>
</Configuration>
3.3 java
import org.apache.logging.log4j.LogManager
import org.apache.logging.log4j.Logger
private static final Logger logger = LogManager.getLogger(App.class)