teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

不要な部分の削除

2018/09/13 09:08

投稿

neeg
neeg

スコア68

title CHANGED
File without changes
body CHANGED
@@ -10,9 +10,6 @@
10
10
  19: strs= new ArrayList<>();
11
11
  ```
12
12
 
13
-
14
- 「JDKのバージョンが低い」ということだろうと思うのですが、以下のように1.8が使われるよう設定、確認を行ったにもかかわらず、いまだに同様のエラーが出てコンパイルができていません。
15
-
16
13
  '<>' operator is not allowed for source level below 1.7
17
14
  というエラーメッセージが表示されることを考えると、この時使われているjdkは1.7で導入されたダイアモンド演算子の意味を理解した上でエラーを出力している、つまり1.7以上のjdkが使用されているには使用されているのだと解釈しています。
18
15
  実際にいろいろと検証した結果、1.8が使われているようです。

2

jdkのバージョンの問題ではなく、jdkに指定されているソースコードバージョンの問題だという推測のもと再構成

2018/09/13 09:08

投稿

neeg
neeg

スコア68

title CHANGED
@@ -1,1 +1,1 @@
1
- tomcat6でのJSPコンパイルのJDKバージョンの設定方法
1
+ tomcat6でのJSPコンパイルのソースコードバージョンの設定方法
body CHANGED
@@ -13,7 +13,13 @@
13
13
 
14
14
  「JDKのバージョンが低い」ということだろうと思うのですが、以下のように1.8が使われるよう設定、確認を行ったにもかかわらず、いまだに同様のエラーが出てコンパイルができていません。
15
15
 
16
+ '<>' operator is not allowed for source level below 1.7
17
+ というエラーメッセージが表示されることを考えると、この時使われているjdkは1.7で導入されたダイアモンド演算子の意味を理解した上でエラーを出力している、つまり1.7以上のjdkが使用されているには使用されているのだと解釈しています。
18
+ 実際にいろいろと検証した結果、1.8が使われているようです。
16
19
 
20
+ ですので恐らく問題は、jdkのバージョンではなく、jdkに対して指定されているコンパイル時のソースコードバージョンの指定が1.6以下なのだろう、と思っています。
21
+ 調べた限り、tomcatがコンパイルするときに使用するjdkに対しての、ソースコードバージョンの指定は以下で行います。
22
+
17
23
  ■やったこと
18
24
  ・/etc/tomcat6/web.xmlの変更(compilerSourceVMとcompilerTargetVM)
19
25
  ```ここに言語を入力
@@ -26,14 +32,16 @@
26
32
  <param-value>1.8</param-value>
27
33
  </init-param>
28
34
  ```
35
+ ですが、これだけでは足りないようで、まだ同様のエラーが出力されています。
29
36
 
37
+ 他にどこか設定するべき箇所はあるでしょうか。
30
38
 
39
+ ■その他にやってみたこと(主にjdkに1.8が使われるようにする設定)
40
+
31
41
  ・JAVA_HOME環境変数の設定
32
42
  ```ここに言語を入力
33
43
  JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk.x86_64
34
44
  ```
35
-
36
-
37
45
  ・その後念のためOSの再起動
38
46
 
39
47
  ■確認したこと
@@ -66,4 +74,14 @@
66
74
  OS:Red Hat Enterprise Linux Server release 6.4 (Santiago)
67
75
  tomcat:Apache Tomcat/6.0.24
68
76
 
77
+ ■追記
78
+ 以下を追加設定しましたが、状況は変わりませんでした。
79
+ ```ここに言語を入力
80
+ <init-param>
81
+ <param-name>compiler</param-name>
82
+ <param-value>/usr/bin/javac</param-value>
83
+ </init-param>
84
+ ```
85
+ ※/usr/bin/javacは、/usr/lib/jvm/java-1.8.0-openjdk.x86_64/bin/javacのエイリアスです。
86
+
69
87
  よろしくお願いいたします。

1

誤字修正

2018/09/13 08:44

投稿

neeg
neeg

スコア68

title CHANGED
@@ -1,1 +1,1 @@
1
- tomcat6でのJSPコンパイルのJDKバージョンの設定方法
1
+ tomcat6でのJSPコンパイルのJDKバージョンの設定方法
body CHANGED
File without changes