関連するプロダクトが多いのであらかじめJ2EEパッケージのeclipseを落としてくるのが楽(というかそれ以外はやったことない)
サーバーの構成を設定しておいてそれとプロジェクトをマッピングさせるようだ。 サーバータブの構成をダブルクリックするとモジュールを選択する画面が出てくる。
起動引数を変更すればよい。 サーバーの構成をダブルクリックし、起動構成を開くをクリック。
JVM引数に-Xms512mでも入れときな!
プロジェクト右クリック→実行→Run on server
Tomcatプラグインのようにツールバーに出現しないので慣れるまではわかりづらい。デフォルトではデバッグモードで起動しないのでブレークポイントを使いたければサーバービューからデバッグモードで起動すること。
ワークスペース\.metadata\.plugins\org.eclipse.wst.server.core\tmp1
ウィンドウ→設定→サーバー→インストール済みランタイム
ビルドパスの設定でAdd Library,Server Runtime,Apache Tomcatを選択するとServletAPIが使えるようになる
便利さの裏返しで裏でいろいろ動くので何をするにも重い・・・・OutOfMemoryErrorをeclipseではじめて見た。GC領域が不足しがちなのでメモリ2G必要かもしれない。pleiadesによる日本語はかなりリソースを食うらしく日本語化をはずしたら比較的エラーが出にくくなるがそれでもOutOfMemoryErrorが出てしまった。
<?xml version="1.0" encoding="UTF-8"?> <Context docBase="projectname" path="/projectname" reloadable="tr ue" source="org.eclipse.jst.j2ee.server:sjp"> <Resource auth="Container" type="javax.sql.DataSource" url="jdbc:mysql://localhost:3306/DBNAME" driverClassName="com.mysql.jdbc.Driver" name="jdbc/sample" username="USERNAME" password="PASSWORD" /> </Context>
import java.io.IOException;
import java.sql.Connection;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.sql.DataSource;
@WebServlet(urlPatterns={"/DataSourceServlet"})
public class DataSourceServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
try {
InitialContext initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
// JNDI名を使ってDataSourceオブジェクトを検索(lookup)
DataSource dataSource = (DataSource) envCtx.lookup("jdbc/sample");
Connection conn = dataSource.getConnection();
}catch(Exception e) {
throw new RuntimeException(e);
}
}
}
$WORKSPACE/.metadata/.plugins/org.eclipse.wst.server.core/tmp0.
JVM引数に下記を追加
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file="/path/to/logging.properties"