質問編集履歴

2

本文にpoiのバージョンを記載、JREシステムライブラリ、Tomcat JRE のバージョンを確認済みであることを記載

2021/01/28 07:58

投稿

potemaru
potemaru

スコア13

test CHANGED
File without changes
test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- Apache-poiライブラリを使った実装を行いTomcatを再起動させたところから、起動失敗するようになってしまい、
5
+ Apache-poiライブラリ(バージョン poi-5.0.0)を使った実装を行いTomcatを再起動させたところから、起動失敗するようになってしまい、
6
6
 
7
7
  一度、プロジェクトエクスプローラーからプロジェクトを削除し、再度プロジェクトを入れ直してTomcat起動したところ、
8
8
 
@@ -21,8 +21,6 @@
21
21
  ・コンパイラ準拠レベル 11
22
22
 
23
23
  ・Tomcatバージョンは9
24
-
25
-
26
24
 
27
25
 
28
26
 
@@ -137,3 +135,5 @@
137
135
  ・プロジェクトのクリーンをしましたが状況変わりませんでした。
138
136
 
139
137
  ・プロジェクトを削除し、Tomcat単体で起動しても同じエラーが出てきます。
138
+
139
+ ・JREシステム・ライブラリー、Tomcat JRE ともに Java11 となっていることを確認しています。

1

エラー発生原因と思われるソースコードの一部を追記しました。

2021/01/28 07:58

投稿

potemaru
potemaru

スコア13

test CHANGED
File without changes
test CHANGED
@@ -70,6 +70,66 @@
70
70
 
71
71
 
72
72
 
73
+
74
+
75
+ また、以下がapache-poi導入でエラーが発生するようになった時に追加したソースコードの一部です。
76
+
77
+ "Workbook workbook = new XSSFWorkbook();" の一文を実装したところTomcat起動失敗するようになりました。
78
+
79
+ ```
80
+
81
+ try (Workbook workbook = new XSSFWorkbook();
82
+
83
+ OutputStream outputStream = resp.getOutputStream()) {
84
+
85
+ Sheet sheet = workbook.getSheetAt(1);
86
+
87
+ Row row = sheet.createRow(1);
88
+
89
+ Cell cell_0 = row.createCell(0);
90
+
91
+ Cell cell_1 = row.createCell(1);
92
+
93
+ Cell cell_2 = row.createCell(2);
94
+
95
+ cell_0.setCellValue(infoList.get(0).getSyainNum());
96
+
97
+ cell_1.setCellValue(infoList.get(0).getKbn());
98
+
99
+ cell_2.setCellValue(infoList.get(0).getName());
100
+
101
+
102
+
103
+ resp.setContentType("application/vnd.ms-excel.sheet.macroEnabled.12");
104
+
105
+
106
+
107
+ SimpleDateFormat simpleDataFormat = new SimpleDateFormat("yyyy-MM-dd");
108
+
109
+ String fileName = simpleDataFormat.format(new Date()) + ".xlsx";
110
+
111
+
112
+
113
+ resp.setHeader("Content-Disposition", "attachments; filename=\"" + fileName + "\"");
114
+
115
+ resp.setHeader("Cache-Control", "no-cache");
116
+
117
+ resp.setHeader("Pragma", "no-cache");
118
+
119
+ resp.setDateHeader("Expires", 0);
120
+
121
+
122
+
123
+ workbook.write(outputStream );
124
+
125
+ } catch (IOException e) {
126
+
127
+ e.printStackTrace();
128
+
129
+ }
130
+
131
+ ```
132
+
73
133
  ### 試したこと
74
134
 
75
135