pleiades All in one をインストールし、Eclipse を使って Java のシステムを作っています。
Apache-poiライブラリ(バージョン poi-5.0.0)を使った実装を行いTomcatを再起動させたところから、起動失敗するようになってしまい、
一度、プロジェクトエクスプローラーからプロジェクトを削除し、再度プロジェクトを入れ直してTomcat起動したところ、
今度はコンソールに以下のようなエラーが出るようになってしまいました。
確認すべき箇所など、ご助言いただけないでしょうか。
Eclipseの設定内容
・インストール済みのJRE は java11
・コンパイラ準拠レベル 11
・Tomcatバージョンは9
発生している問題・エラーメッセージ
java.lang.UnsupportedClassVersionError: org/apache/catalina/startup/Bootstrap : Unsupported major.minor version 52.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631) at java.lang.ClassLoader.defineClass(ClassLoader.java:615) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) at java.net.URLClassLoader.access$000(URLClassLoader.java:58) at java.net.URLClassLoader$1.run(URLClassLoader.java:197) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
なぜか ClassLoader.java というファイルでデバッガーが止まるのですが、
このファイルのパスを見たところ「C:\pleiades\java\6\src.zip\java\lang\ClassLoader.java」となっており、
なぜJava6の中のクラスが動いているのかも分からず混乱しています。
また、以下がapache-poi導入でエラーが発生するようになった時に追加したソースコードの一部です。
"Workbook workbook = new XSSFWorkbook();" の一文を実装したところTomcat起動失敗するようになりました。
try (Workbook workbook = new XSSFWorkbook(); OutputStream outputStream = resp.getOutputStream()) { Sheet sheet = workbook.getSheetAt(1); Row row = sheet.createRow(1); Cell cell_0 = row.createCell(0); Cell cell_1 = row.createCell(1); Cell cell_2 = row.createCell(2); cell_0.setCellValue(infoList.get(0).getSyainNum()); cell_1.setCellValue(infoList.get(0).getKbn()); cell_2.setCellValue(infoList.get(0).getName()); resp.setContentType("application/vnd.ms-excel.sheet.macroEnabled.12"); SimpleDateFormat simpleDataFormat = new SimpleDateFormat("yyyy-MM-dd"); String fileName = simpleDataFormat.format(new Date()) + ".xlsx"; resp.setHeader("Content-Disposition", "attachments; filename=\"" + fileName + "\""); resp.setHeader("Cache-Control", "no-cache"); resp.setHeader("Pragma", "no-cache"); resp.setDateHeader("Expires", 0); workbook.write(outputStream ); } catch (IOException e) { e.printStackTrace(); }
試したこと
・プロジェクトのクリーンをしましたが状況変わりませんでした。
・プロジェクトを削除し、Tomcat単体で起動しても同じエラーが出てきます。
・JREシステム・ライブラリー、Tomcat JRE ともに Java11 となっていることを確認しています。
あなたの回答
tips
プレビュー