I'm using mybatis 3.3.1 version and put mybatis configuration file mybatis-conf.xml at SqlSessionFactoryManager located directory.
I created executable-jar via mvn package but SqlSessionFactoryManager telling an error
java.io.IOException: Could not find resource kr/stocktalk/mybatis/mybatis-conf.xml
at org.apache.ibatis.io.Resources.getResourceAsStream(Resources.java:114)
This is code snippet of SqlSessionFactoryManager
try { String resource = "kr/stocktalk/mybatis/mybatis-conf.xml"; Reader reader = Resources.getResourceAsReader(resource); if (sqlSessionFactory == null) { sqlSessionFactory = new SqlSessionFactoryBuilder() .build(reader); } } catch (Exception e) { e.printStackTrace(); } I think the exception occurs that mybatis-conf.xml is not included executable-jar
So I tried to add include code maven-jar-plugin inside
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration> <excludes> <exclude>logback.xml</exclude> </excludes> <includes> <include>**/*.xml</include> <include>**/*.class</include> </includes> <archive> <manifest> <mainClass>kr.stocktalk.chat.ChatServer</mainClass> <addClasspath>true</addClasspath> <classpathPrefix>lib/</classpathPrefix> </manifest> </archive> </configuration> </plugin> But no xml files included in executable-jar file.
How can I include *.xml files?
Here is all of pom.xml code.
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> </properties> <modelVersion>4.0.0</modelVersion> <groupId>kr.stocktalk</groupId> <artifactId>stocktalk-chat</artifactId> <version>0.0.1-SNAPSHOT</version> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <version>1.2.1</version> <executions> <execution> <goals> <goal>java</goal> </goals> </execution> </executions> <configuration> <mainClass>kr.stocktalk.chat.ChatServer</mainClass> <!-- <arguments> <argument>foo</argument> <argument>bar</argument> </arguments> --> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.5.1</version> <configuration> <source>1.8</source> <target>1.8</target> <!-- <compilerArgument>-Xlint:all</compilerArgument> --> <showWarnings>true</showWarnings> <showDeprecation>true</showDeprecation> <encoding>UTF-8</encoding> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>2.3</version> <executions> <execution> <id>copy-dependencies</id> <phase>package</phase> <goals> <goal>copy-dependencies</goal> </goals> </execution> </executions> <configuration> <!-- eclipse 에서는 target 밑의 lib 에 생성 됨 --> <outputDirectory>target/lib</outputDirectory> <overWriteIfNewer>true</overWriteIfNewer> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration> <excludes> <exclude>logback.xml</exclude> </excludes> <includes> <include>**/*.xml</include> <include>**/*.class</include> </includes> <archive> <manifest> <mainClass>kr.stocktalk.chat.ChatServer</mainClass> <addClasspath>true</addClasspath> <classpathPrefix>lib/</classpathPrefix> </manifest> </archive> </configuration> </plugin> </plugins> <resources> <resource> <directory>src/main/resources</directory> <targetPath>${basedir}/target/resources</targetPath> </resource> <!-- <resource> <directory>src/main/java</directory> <targetPath>${basedir}/target</targetPath> <excludes> <exclude>*.java</exclude> </excludes> </resource> --> </resources> </build> <dependencies> <dependency> <groupId>com.amazonaws</groupId> <artifactId>aws-java-sdk-core</artifactId> <version>1.10.68</version> </dependency> <dependency> <groupId>com.amazonaws</groupId> <artifactId>aws-java-sdk-datapipeline</artifactId> <version>1.10.68</version> </dependency> <dependency> <groupId>com.amazonaws</groupId> <artifactId>aws-java-sdk-dynamodb</artifactId> <version>1.10.68</version> </dependency> <dependency> <groupId>com.ganyo</groupId> <artifactId>gcm-server</artifactId> <version>1.0.2</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.7</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.1.2</version> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>jcl-over-slf4j</artifactId> <version>1.7.7</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>2.5</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.5</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.3.1</version> </dependency> <dependency> <groupId>io.netty</groupId> <artifactId>netty-all</artifactId> <version>4.0.36.Final</version> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.16.8</version> </dependency> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.6.2</version> </dependency> <dependency> <groupId>net.sourceforge.jtds</groupId> <artifactId>jtds</artifactId> <version>1.3.1</version> </dependency> </dependencies> </project>
No comments:
Post a Comment