読者です 読者をやめる 読者になる 読者になる

MoChiwakiブログ

若手女性エンジニアがゆる~く書く備忘録ブログ

IntelliJ Community(無償版)にてMavenとともにTomcatを動かす!

Java IT関連 IntelliJ 環境構築

IntelliJ無償版にてMavenとともにTomcatを動かす!

IntelliJはUltimate(有償版)とCommunity(無償版)では
結構違います。

こんなに差が!

え!JavaEEサポートしてないんかいっっ!!
って思いますよね。。

これはIntelliJ無償版と格闘する私のお話。

準備1 ダウンロードしてください

準備2 ファイルを用意

~/.m2/settings.xml がなければ作成

<?xml version='1.0' encoding='utf-8'?>
  <settings>
    <!-- snip -->
    <servers>
      <server>
        <id>tomcat-localhost</id>
        <username>admin</username>
        <password>admin</password>
      </server>
    </servers>
  </settings>
</xml>

Tomcatに設定追加

~/apache-tomcat-8.5.4/conf/tomcat-users.xml

<role rolename="tomcat"/>
<user username="admin" password="admin" roles="manager-script"/>

pom.xmlTomcatプラグイン追加

<pluginManagement>
  <plugins>
    <plugin>
      <groupId>org.apache.tomcat.maven</groupId>
      <artifactId>tomcat7-maven-plugin</artifactId>
      <version>2.2</version>
      <configuration>
        <update>true</update>
        <server>tomcat-localhost</server>
        <url>http://localhost:8080/manager/text</url>
      </configuration>
    </plugin>
  </plugins>
</pluginManagement>

■ Tomcat8用のプラグインは今ないらしいので、
 tomcat7-maven-pluginでがまん!

DBも使うんならcontext.xml追加

/src/local-intellij-/context.xml
とりあえずどっかにファイル作る

<?xml version='1.0' encoding='utf-8'?>
<Context docBase="myProject" path="/myProject" reloadable="true">
  <WatchedResource>WEB-INF/web.xml</WatchedResource>
  <WatchedResource>${catalina.base}/conf/web.xml</WatchedResource>
  <Resource auth="Container" driverClassName="com.mysql.jdbc.Driver" maxActive="100" maxIdle="30" maxWait="10000" name="jdbc/testDB" password="root" type="javax.sql.DataSource" url="jdbc:mysql://192.168.56.100:3309/test_db" username="root"/>
</Context>

eclipseのserver.xmlと似たような感じ!

やっっっっっっと起動できる

Tomcat起動

~/apache-tomcat-8.5.4/binのしたで

 ./catalina.sh jpda start

intellijのターミナルにてデプロイ

 mvn -Denvironment=local -Dmaven.test.skip=true package tomcat7:deploy

これができると、
targetファイルの下にwarファイルができて、 画面でも見ることができます。

なんか色々つまづいたものは後ほど書きます。