开发简单java所需组件

一:开发简单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);

猜你喜欢

转载自blog.csdn.net/faicm/article/details/80980603