1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.toolchain.java;
20
21 import java.nio.file.Files;
22 import java.nio.file.Path;
23 import java.nio.file.Paths;
24
25 import org.apache.maven.artifact.versioning.ArtifactVersion;
26 import org.apache.maven.toolchain.DefaultToolchain;
27 import org.apache.maven.toolchain.model.ToolchainModel;
28 import org.apache.maven.utils.Os;
29 import org.slf4j.Logger;
30
31
32
33
34
35
36
37 @Deprecated(since = "4.0.0")
38 public class JavaToolchainImpl extends DefaultToolchain implements JavaToolchain {
39 private String javaHome;
40
41 public static final String KEY_JAVAHOME = "jdkHome";
42
43 private ArtifactVersion javaVersion;
44
45 JavaToolchainImpl(ToolchainModel model, Logger logger) {
46 super(model, "jdk", logger);
47 }
48
49 public String getJavaHome() {
50 return javaHome;
51 }
52
53 @Override
54 public ArtifactVersion getJavaVersion() {
55 return javaVersion;
56 }
57
58 public void setJavaVersion(ArtifactVersion javaVersion) {
59 this.javaVersion = javaVersion;
60 }
61
62 public void setJavaHome(String javaHome) {
63 this.javaHome = javaHome;
64 }
65
66 @Override
67 public String toString() {
68 return "JDK[" + getJavaHome() + "]";
69 }
70
71 @Override
72 public String findTool(String toolName) {
73 Path toRet = findTool(toolName, Paths.get(getJavaHome()).normalize());
74 if (toRet != null) {
75 return toRet.toAbsolutePath().toString();
76 }
77 return null;
78 }
79
80 private static Path findTool(String toolName, Path installDir) {
81 Path bin = installDir.resolve("bin");
82 if (Files.isDirectory(bin)) {
83 if (Os.IS_WINDOWS) {
84 Path tool = bin.resolve(toolName + ".exe");
85 if (Files.exists(tool)) {
86 return tool;
87 }
88 }
89 Path tool = bin.resolve(toolName);
90 if (Files.exists(tool)) {
91 return tool;
92 }
93 }
94 return null;
95 }
96 }