-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathinstall_java_17.zsh
More file actions
73 lines (60 loc) · 1.98 KB
/
Copy pathinstall_java_17.zsh
File metadata and controls
73 lines (60 loc) · 1.98 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#!/bin/zsh
# Script to install Java 17 without sudo using SDKMAN!
# This script can be run by any user without root privileges
set -e # Exit on error
echo "================================================"
echo "Java 17 Installation Script (No sudo required)"
echo "================================================"
echo ""
# Check if SDKMAN is already installed
if [[ -s "$HOME/.sdkman/bin/sdkman-init.sh" ]]; then
echo "✓ SDKMAN! is already installed"
else
echo "Installing SDKMAN!..."
curl -s "https://get.sdkman.io" | bash
echo ""
echo "✓ SDKMAN! installed successfully"
fi
# Source SDKMAN
source "$HOME/.sdkman/bin/sdkman-init.sh"
echo ""
echo "Installing Java 17..."
sdk install java 17.0.9-tem
echo ""
echo "Setting Java 17 as default..."
sdk default java 17.0.9-tem
echo ""
echo "================================================"
echo "Installation Complete!"
echo "================================================"
echo ""
echo "Java version:"
java -version
echo ""
echo "JAVA_HOME is set to:"
echo $JAVA_HOME
echo ""
echo "================================================"
echo "Important: To use Java in new terminal sessions,"
echo "make sure the following is in your ~/.zshrc:"
echo ""
echo "export SDKMAN_DIR=\"\$HOME/.sdkman\""
echo "[[ -s \"\$HOME/.sdkman/bin/sdkman-init.sh\" ]] && source \"\$HOME/.sdkman/bin/sdkman-init.sh\""
echo "================================================"
# Add to .zshrc if not already present
if ! grep -q "sdkman-init.sh" "$HOME/.zshrc" 2>/dev/null; then
echo ""
echo "Adding SDKMAN initialization to ~/.zshrc..."
cat >> "$HOME/.zshrc" << 'EOF'
# SDKMAN configuration
export SDKMAN_DIR="$HOME/.sdkman"
[[ -s "$HOME/.sdkman/bin/sdkman-init.sh" ]] && source "$HOME/.sdkman/bin/sdkman-init.sh"
EOF
echo "✓ Added to ~/.zshrc"
else
echo ""
echo "✓ SDKMAN already configured in ~/.zshrc"
fi
echo ""
echo "You can now use Java 17!"
echo "Run 'source ~/.zshrc' or restart your terminal to ensure everything is loaded."