Webstart running the wrong jre version on OSX - macos

I am running a jnlp in OSX 10.8.2 with jre the jre version 1.7.0_11 and jnlp tag is set to run in 1.6 as:
<j2se version="1.6" href="http://java.sun.com/products/autodl/j2se">
or
<j2se version="1.6*" ...>
However, when the jnlp runs shows the following in the console:
Java Web Start 10.11.2.21
Using JRE version 1.7.0_11-b21 Java HotSpot(TM) 64-Bit Server
When I run the same jnlp file in windows using jre 1.7 works fine, it loads with jre 1.7 and then download jre 1.6 and run on it.
Any ideas?

Now, they told me they need java 1.7 as default.
So, I found that installing JDK 1.7 instead of JRE, it was fixed. I can have both versions and my jnlp is using jre 1.6 to run.
http://www.oracle.com/technetwork/java/javase/downloads/index.html
And then I had to run the follwoing commands from http://support.apple.com/kb/HT5559:
sudo mkdir -p /Library/Internet\ Plug-Ins/disabled
sudo mv /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin /Library/Internet\ Plug-Ins/disabled
sudo ln -sf /System/Library/Java/Support/Deploy.bundle/Contents/Resources/JavaPlugin2_NPAPI.plugin /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
sudo ln -sf /System/Library/Frameworks/JavaVM.framework/Commands/javaws /usr/bin/javaws
After run this, the java applet plug-in starts to work in Chrome and I can handle all versions of Java from Application/Utilities/JavaPreferences

The root cause:
jnlp is set to only use java 1.6 otherwise download it from auto download site and installed automatically
All java versions for mac but 1.7 were developed by Apple so they do not have autodownload url
After 1.7 oracle is developing java for macs
When I review the java preferences only found java 1.7
Jnlp looks for java 1.6 and is unable to find it and try to autodownload and is unable to do it either, so the only option it has is run on java 1.7
To solve this we uninstall java 1.7 and then we use the following instructions to make 1.6 java default:
http://support.apple.com/kb/dl1573
http://blog.nominet.org.uk/tech/2008/04/24/restarting-the-awt-native-event-thread/
http://support.apple.com/kb/HT5559
Then we had a problem with certificates but we did the following:
https://stackoverflow.com/questions/11727955/the-digital-signature-is-not-trusted-java-will-not-allow-any-access-to-this-app
java-will-not-allow-any-access-to-this-app

fix these links to get java -version pointing to 7
cd /System/Library/Frameworks/JavaVM.framework/Versions
sudo rm CurrentJDK
sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.7.0_15.jdk/Contents/ CurrentJDK
sudo ln -s CurrentJDK 1.7
sudo ln -s CurrentJDK 1.7.0
you could create links to the old 1.6
sudo rm 1.6 1.6.0
sudo ln -s /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents 1.6
sudo ln -s /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents 1.6.0

Related

Using Gradle with OpenJDK 1.9

I cannot seem to use Gradle with OpenJDK 1.9.
When I run the following command:
react-native run-android
I end up getting this error.
Starting JS server...
Building and installing the app on the device (cd android && ./gradlew installDebug)...
FAILURE: Build failed with an exception.
* What went wrong:
Could not determine java version from '9-internal'.
Running java -version shows me:
openjdk version "9-internal"
OpenJDK Runtime Environment (build 9-internal+0-2016-04-14-195246.buildd.src)
OpenJDK 64-Bit Server VM (build 9-internal+0-2016-04-14-195246.buildd.src, mixed mode)
Any ideas how I can fix this?
Which version of gradle are you using?
cd android
./gradlew -version
I think there was a bug determining versions for java 1.9 which was fixed in Gradle 2.10.
Another option is to try spoofing a java.version that Gradle can parse
export JAVA_TOOL_OPTIONS='-Djava.version=1.9'
react-native run-android
#see JavaVersion.java and JavaVersionSpec.groovy
This seems to be an incompatibility with your build of OpenJDK 9 and Gradle.
Your OpenJDK version is:
openjdk version "9-internal"
And it appears Gradle can't parse it:
Could not determine java version from '9-internal'.
Looks like gradle is prepared to accept 9-ea, but not 9-internal.
You will have to modify your build of OpenJDK to have it return "9-ea" or something similar for java -version.
The following configure options when building OpenJDK 9 should do the trick:
configure \
--with-version-pre="ea" \
--with-version-opt="" \
... your other options ...
I had the same exact issue and, in my case, it worked by removing OpenJDK:
sudo rm /var/lib/dpkg/info/openjdk-*
sudo apt-get purge openjdk-*
sudo rm /etc/apt/sources.list.d/*java*
sudo apt-get update
and installing the Oracle Java SDK:
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
sudo apt-get install oracle-java8-set-default
I know this is not the exact answer (using Gradle with OpenJDK 1.9), but I managed to keep going and run the app both in a virtual device and in my smartphone. Hope it helps.
Note: I am running react-native: 0.40.0 and react-native-cli: 2.0.1 in Ubuntu 16.04

Install / upgrade gradle on Mac OS X

How do I install/upgrade gradle for Mac?
As mentioned in this tutorial, it's as simple as:
To install
brew install gradle
To upgrade
brew upgrade gradle
(using Homebrew of course)
Also see (finally) updated docs.
Another alternative is to use sdkman. An advantage of sdkman over brew is that many versions of gradle are supported. (brew only supports the latest version and 2.14.) To install sdkman execute:
curl -s "https://get.sdkman.io" | bash
Then follow the instructions. Go here for more installation information. Once sdkman is installed use the command:
sdk install gradle
Or to install a specific version:
sdk install gradle 2.2
Or use to use a specific installed version:
sdk use gradle 2.2
To see which versions are installed and available:
sdk list gradle
For more information go here.
And using ports:
port install gradle
Ports , tested on El Capitan
I had downloaded it from http://gradle.org/gradle-download/. I use Homebrew, but I missed installing gradle using it.
To save some MBs by downloading it over again using Homebrew, I symlinked the gradle binary from the downloaded (and extracted) zip archive in the /usr/local/bin/. This is the same place where Homebrew symlinks all other binaries.
cd /usr/local/bin/
ln -s ~/Downloads/gradle-2.12/bin/gradle
Now check whether it works or not:
gradle -v
Two Method
using homebrew auto install:
Steps:
brew install gradle
Pros and cons
Pros: easy
Cons: (probably) not latest version
manually install (for latest version):
Pros and cons
Pros: use your expected any (or latest) version
Cons: need self to do it
Steps
download latest version binary (gradle-6.0.1) from Gradle | Releases
unzip it (gradle-6.0.1-all.zip) and added gradle path into environment variable PATH
normally is edit and add following config into your startup script( ~/.bashrc or ~/.zshrc etc.):
export GRADLE_HOME=/path_to_your_gradle/gradle-6.0.1
export PATH=$GRADLE_HOME/bin:$PATH
some other basic note
Q: How to make PATH take effect immediately?
A: use source:
source ~/.bashrc
it will make/execute your .bashrc, so make PATH become your expected latest values, which include your added gradle path.
Q: How to check PATH is really take effect/working now?
A: use echo to see your added path in indeed in your PATH
➜ ~ echo $PATH
xxx:/Users/crifan/dev/dev_tool/java/gradle/gradle-6.0.1/bin:xxx
you can see we added /Users/crifan/dev/dev_tool/java/gradle/gradle-6.0.1/bin into your PATH
Q: How to verify gradle is installed correctly on my Mac ?
A: use which to make sure can find gradle
➜ ~ which gradle
/Users/crifan/dev/dev_tool/java/gradle/gradle-6.0.1/bin/gradle
AND to check and see gradle version
➜ ~ gradle --version
------------------------------------------------------------
Gradle 6.0.1
------------------------------------------------------------
Build time: 2019-11-18 20:25:01 UTC
Revision: fad121066a68c4701acd362daf4287a7c309a0f5
Kotlin: 1.3.50
Groovy: 2.5.8
Ant: Apache Ant(TM) version 1.10.7 compiled on September 1 2019
JVM: 1.8.0_112 (Oracle Corporation 25.112-b16)
OS: Mac OS X 10.14.6 x86_64
this means the (latest) gradle is correctly installed on your mac ^_^.
for more detail please refer my (Chinese) post 【已解决】mac中安装maven

Installing Elasticsearch on OSX Mavericks

I'm trying to install Elasticsearch 1.1.0 on OSX Mavericks but i got the following errors when i'm trying to start:
:> ./elasticsearch
Exception in thread "main" java.lang.NoClassDefFoundError: Could not initialize class org.elasticsearch.Version
at org.elasticsearch.bootstrap.Bootstrap.buildErrorMessage(Bootstrap.java:252)
at org.elasticsearch.bootstrap.Bootstrap.main(Bootstrap.java:236)
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:32)
Also when i'm executing the same command with -v arg, i got this error:
:> ./elasticsearch -v
Exception in thread "main" java.lang.NoSuchFieldError: LUCENE_36
at org.elasticsearch.Version.<clinit>(Version.java:42)
Here's my environment:
Java version
>: java -version
java version "1.8.0"
Java(TM) SE Runtime Environment (build 1.8.0-b132)
Java HotSpot(TM) 64-Bit Server VM (build 25.0-b70, mixed mode)
Instalation path (downloaded .tar.gz archive from elasticsearch download page and extracted here):
/usr/local/elasticsearch-1.1.0
ENV vars:
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home
CLASSPATH=/usr/local/elasticsearch-1.1.0/lib/*.jar:/usr/local/elasticsearch-1.1.0/lib/sigar/*.jar
UPDATE
i finally make it working, unfortunally not sure how because i tried a lot of changes :). But here's a list of changes i made that can help:
i removed jdk and jre and reinstalled on a clean env.
http://docs.oracle.com/javase/8/docs/technotes/guides/install/mac_jdk.html#A1096855
i deleted all the cache dirs.I suppose this can be the 'cause' for that it's working now
~/Library/Caches
/Library/Caches
i removed CLASSPATH env var.
ES_PATH and ES_HOME env vars are not set either, but i think this is not so important.
Note: now it's working also if i'm installing with brew.
Thanks.
You should really consider using brew. It's a great tool that will take care of dependencies, version control and much more.
To install Elasticsearch using brew, simply:
brew update
brew install elasticsearch
Boom! Done.
After that follow Elasticsearch instructions :
To have launchd start Elasticsearch at login:
ln -sfv /usr/local/opt/elasticsearch/*.plist ~/Library/LaunchAgents
Then to load Elasticsearch now:
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.elasticsearch.plist
Or, if you don't want/need launchctl, you can just run:
elasticsearch
As there are not very good instructions for actually "installing" it onto a Mac:
Short Version:
Install Java (prefer latest supported release)
Set JAVA_HOME environment variable.
Download Elasticsearch version (tar or zip).
Extract Elasticsearch from the downloaded file.
Run bin/elasticsearch from the extracted directory.
Long version:
Download Java
Only need the JRE if you will not be writing code on the same machine.
I assume that you are getting the latest JDK, which is currently JDK 8 (as you appear to have, and I have installed working on my machine).
Download and extract Elasticsearch and extract it into some directory.
For example: mkdir -p ~/dev/elasticsearch
Optionally move the downloaded file to there:
mv Downloads/elasticsearch* ~/dev/elasticsearch
Extract the downloaded file:
cd ~/dev/elasticsearch (if you moved it in step 2)
If it's the zip, then unzip elasticsearch-1.1.0.zip (or if you don't want to cd into the directory, then just run unzip elasticsearch-1.1.0.zip -d ~/dev/elasticsearch)
If it's the tar, then tar -xvf elasticsearch-1.1.0.tar.gz (or if you don't want to cd into the directory, then just run tar -xvf elasticsearch-1.1.0.tar.gz -C ~/dev/elasticsearch)
Cleanup (if you want) by removing the downloaded file:
rm elasticsearch-1.1.0.*
Open your .bash_profile file for your bash profile settings:
vi ~/.bash_profile
In the file, export your environment variable(s)
export ES_HOME=~/dev/elasticsearch/elasticsearch-1.1.0
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home
export PATH=$ES_HOME/bin:$JAVA_HOME/bin:$PATH
Close and re-open your Terminal OR
Run source ~/.bash_profile to update the environment variables
Run Elasticsearch:
elasticsearch
The more traditional way to run it is to do pretty much all of the above, but not add $ES_HOME/bin to the PATH. Then, just go to ES_PATH (cd $ES_PATH, then bin/elasticsearch) or run $ES_PATH/bin/elasticsearch.
Note: Do not setup your CLASSPATH without a very good reason. The scripts will do that for you.
You should try to using brew with last update:
brew update
And install Cask java:
brew cask install java
After that you can install elasticsearch:
brew install elasticsearch
And to have launched start elasticsearch now use:
brew services start elasticsearch
Or you can just run:
elasticsearch
To update ElasticSearch, just run brew upgrade elasticsearch
Update your java
brew update
brew cask install java
Install it with homebrew
brew install elasticsearch
install gpg &&
install java or jdk
1-Import the repository’s GPG key:
wget -qO - https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
2-this is code repository elasticserach in linux for download
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
3-link download elasticsearch
https://www.elastic.co/downloads/elasticsearch
if error
"Job for elasticsearch.service failed because a timeout was exceeded.
See "systemctl status elasticsearch.service" and "journalctl -xe" for details."
solution:
1-sudo journalctl -f
2-sudo systemctl enable elasticsearch.service
3-sudo systemctl start elasticsearch

tomcat7 UnsupportedClassVersionError when running with java7

problem: when deploying my war to tomcat7 i get the error
java.lang.UnsupportedClassVersionError: org.MyLibraryClass : Unsupported major.minor version 51.0
(this is the error one gets when compiling java with a newer version than the java used when running the code.)
situation, in order:
brand new ubuntu 12.04.1 server 64bit minimal, in a virtualbox
installed tomcat6
tried to deploy my war
realized the error, and that i need java7 because ubuntu 12 still comes with outdated java
installed oracle java 7 using this guide https://askubuntu.com/questions/197248/java-on-ubuntu-server-12-04
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer
removed tomcat6 and installed tomcat7
sudo apt-get remove tomcat6-common
sudo apt-get install tomcat7
deployed my war to tomcat7
started tomcat
sudo service tomcat7 start
checked my app's log file. same error.
echo $JAVA_HOME is empty, java -version shows:
java version "1.7.0_07"
Java(TM) SE Runtime Environment (build 1.7.0_07-b10)
Java HotSpot(TM) 64-Bit Server VM (build 23.3-b01, mixed mode)
it's a default tomcat7 install, no modification. still i checked the startup scripts and config to make sure no custom java version is specified anywhere. also checked by asking catalina:
ubuntu#ubuntu:/home$ /usr/share/tomcat7/bin/catalina.sh version
Using CATALINA_BASE: /usr/share/tomcat7
Using CATALINA_HOME: /usr/share/tomcat7
Using CATALINA_TMPDIR: /usr/share/tomcat7/temp
Using JRE_HOME: /usr
Using CLASSPATH: /usr/share/tomcat7/bin/bootstrap.jar:/usr/share/tomcat7/bin/tomcat-juli.jar
Server version: Apache Tomcat/7.0.26
Server built: Jul 19 2012 03:21:30
Server number: 7.0.26.0
OS Name: Linux
OS Version: 3.2.0-29-generic
Architecture: amd64
JVM Version: 1.7.0_07-b10
JVM Vendor: Oracle Corporation
now i'm stuck. i don't see how any java code could fail to run on oracle's jre7.
my war is a brand new very basic hello world grails 2.1 app with maven, which has a maven dependency (org.MyLibraryClass) that is compiled with jdk7. that's the one for which i get the error.
in grails i changed BuildConfig.groovy to have 1.7 instead of 1.6:
grails.project.target.level = 1.7
grails.project.source.level = 1.7
then did a grails clean, rebuild, war, redeploy. no change.
any idea what to try next?
Typical error when compiling code with Java7 and running it under Java6.
The critical line in your query is this one I think:
sudo service tomcat7 start
I think it may be triggering the inheritance of OpenJDK still in the system there. What you want to do is instead try tomcat from your own environment.
Login as your normal user
java -version
/usr/share/tomcat7/bin/startup.sh
and check. You should also login as a clean user, root or elsewhere and check java -version to check.
If all else fails, go to /etc/profile and make sure path to Oracle's Java/bin directory is the very first thing in the PATH variable for the environment.
I have the same problem just now,but now it's solved.
Please check this symbolic
/usr/lib/jvm/default-java
it's default link is open-jdk, reset the correct jdk dirctory.
good luck!

Maven Install on Mac OS X

I'm trying to install maven through the terminal by following these instructions.
So far I got this:
export M2_HOME=/user/apple/apache-maven-3.0.3
export M2=$M2_HOME/bin
export PATH=$M2:$PATH
export JAVA_HOME=/usr/java/jdk1.6.0_22
Where do you go to find this?
Alternatively, I recommend installing Homebrew for these kinds of utilities.
Then you just install Maven using:
brew install maven
PS: If you got a 404 error, try doing a brew update just before
Disclaimer: Here is a complete answer taking the last version of OS X (10.9 AKA Mavericks) into account. I am aware that everything I compiled in this answer is already present in the page, but having it clearly in one answer makes it a lot clearer.
First of all, with previous versions of OS X, Maven is installed by default. If Java is missing running you#host:~ $ java in a terminal will prompt you for the Java installation.
With Mac OS X 10.9 (Mavericks), Maven is not installed by default anymore. Different options are then possible:
Using Homebrew:
you#host:~$ brew install maven will install latest Maven (3.5.2 on 02/01/2018)
you#host:~$ brew install maven30 will install Maven 3.0 if needed
Using Macports: (I did not test this)
you#host:~$ sudo port install maven will install latest Maven (?)
or:
you#host:~$ sudo port install maven3 will Install Maven 3.0
you#host:~$ sudo port select --set maven maven3 selects that version of Maven
Installing by hand:
Download Maven from its homepage
Follow the installation instructions:
Extract the distribution archive, i.e.apache-maven-3.3.9-bin.tar.gz to the directory you wish to install Maven 3.3.9. The subdirectory apache-maven-3.3.9 will be created from the archive.
Optional: Add the MAVEN_OPTS environment variable to specify JVM properties, e.g. export MAVEN_OPTS="-Xms256m -Xmx512m". This environment variable can be used to supply extra options to Maven.
Make sure that JAVA_HOME is set to the location of your JDK, e.g. export JAVA_HOME=$(/usr/libexec/java_home -v 1.8) and that $JAVA_HOME/bin is in your PATH environment variable (although that might not be necessary with the latest Mac OS X versions and the Oracle JDK).
Add extracted apache-maven-3.3.9/bin to your $PATH
Run mvn --version to verify that it is correctly installed.
OS X prior to Mavericks (10.9) actually comes with Maven 3 built in.
If you're on OS X Lion, you won't have java installed by default. Run java by itself and it'll prompt you to install it.
Assuming qualifications are met, run mvn -version and see some output like this:
Apache Maven 3.0.3 (r1075438; 2011-02-28 12:31:09-0500)
Maven home: /usr/share/maven
Java version: 1.6.0_29, vendor: Apple Inc.
Java home: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
Default locale: en_US, platform encoding: MacRoman
OS name: "mac os x", version: "10.7.2", arch: "x86_64", family: "mac"
When I upgraded recently to OS X Mavericks and my maven builds start failing. So I needed to install maven again as it doesn't come built in. Then I tried with the command:
brew install maven
it works, but it installs the version 3.1.1 of maven which causes some problems for a few users like (https://cwiki.apache.org/confluence/display/MAVEN/AetherClassNotFound). So if you're running into the same issue you will probably want to install the earlier Maven version, the 3.0.5. To do that with Homebrew, you have to execute the following command:
brew install https://raw.github.com/Homebrew/homebrew-versions/master/maven30.rb
That's it, it will then use a different Homebrew's formulae which will give you the maven 3.0.5 instead.
macOS Sierra onwards
brew install maven
To install Maven on OS X, go to the Apache Maven website and download the binary zip file.
You can then shift the apache-maven-3.0.5 folder in your Downloads folder to wherever you want to keep Maven; however as the rest of the process involves the command line, I recommend you do everything from there.
At the command line, you would run something like:
mv ~/Downloads/apache-maven-3.0.5 ~/Development/
This is just my personal preference - to have a "Development" directory in my home directory. You can choose something else if you wish.
Next, edit ~/.profile in the editor of your choice, and add the following:
export M2_HOME="/Users/johndoe/Development/apache-maven-3.0.5"
export PATH=${PATH}:${M2_HOME}/bin
The first line is important to Maven (and must be a full explcit path); the second line is important to the shell, in order to run the "mvn" binary. If you have a variation of that second line already in .profile, then simply add ${M2_HOME}/bin to the end of it.
Now open a second terminal window and run
mvn -version
which should give output like...
Apache Maven 3.0.5 (r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19 13:51:28+0000)
Maven home: /Users/johndoe/Development/apache-maven-3.0.5
Java version: 1.7.0_40, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk/Contents/Home/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "10.9", arch: "x86_64", family: "mac"
Couple of things to note:
If you've installed the Oracle JDK 1.7, then you may find Maven reports JDK 1.6 in the above output. To solve this, add the following to your ~/.profile:
export JAVA_HOME=$(/usr/libexec/java_home)
As some have pointed out, Maven has historically been supplied either with OS X itself, or with the optional Command Line Tools for XCode. This may cease to be the case for future versions of OS X, and in fact OS X Mavericks does not include Maven. Personal opinion: This could be because they are still in beta, or it could be that Apple have taken a look at the latest Thoughtworks Technology Radar, and spotted that Maven has been moved to "Hold".
If using MacPorts on OS X 10.9 Mavericks, you can simply do:
sudo port install maven3
sudo port select --set maven maven3
A simple approach to install Maven.
Open Terminal
Finder -> Go -> Utilities -> Terminal
Install Homebrew using the below command
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
After that install maven
brew install maven
Just a brief addition; if you want to install a specific version on MacOS using Homebrew 1.5.2, you can install it the following way:
brew update
brew search maven
This will give you maven versions available in homebrew
brew install maven#3.3
[If you want to install maven 3.3.]
Two Method
(use homebrew) Auto install:
Command:
brew install maven
Pros and cons
Pros: easy
Cons: (probably) not latest version
Manually install (for latest version):
Pros and cons
Pros: use your expected any (or latest) version
Cons: need self to do it
Steps
download latest binary (apache-maven-3.6.3-bin.zip) version from Maven offical download
uncompress it (apache-maven-3.6.3-bin.zip) and added maven path into environment variable PATH
normally is edit and add:
export PATH=/path_to_your_maven/apache-maven-3.6.3/bin:$PATH
into your startup script( ~/.bashrc or ~/.zshrc etc.)
Extra Note
how to take effect immediately and check installed correctly?
A:
source ~/.bashrc
echo $PATH
which mvn
mvn --version
here output:
➜ bin pwd
/Users/crifan/dev/dev_tool/java/maven/apache-maven-3.6.3/bin
➜ bin ll
total 64
-rw-r--r--# 1 crifan staff 228B 11 7 12:32 m2.conf
-rwxr-xr-x# 1 crifan staff 5.6K 11 7 12:32 mvn
-rw-r--r--# 1 crifan staff 6.2K 11 7 12:32 mvn.cmd
-rwxr-xr-x# 1 crifan staff 1.5K 11 7 12:32 mvnDebug
-rw-r--r--# 1 crifan staff 1.6K 11 7 12:32 mvnDebug.cmd
-rwxr-xr-x# 1 crifan staff 1.5K 11 7 12:32 mvnyjp
➜ bin vi ~/.bashrc
➜ bin source ~/.bashrc
➜ ~ echo $PATH
/Users/crifan/dev/dev_tool/java/maven/apache-maven-3.6.3/bin:xxx
➜ bin which mvn
/Users/crifan/dev/dev_tool/java/maven/apache-maven-3.6.3/bin/mvn
➜ bin mvn --version
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: /Users/crifan/dev/dev_tool/java/maven/apache-maven-3.6.3
Java version: 1.8.0_112, vendor: Oracle Corporation, runtime: /Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "mac os x", version: "10.14.6", arch: "x86_64", family: "mac"
for full detail please refer my (Chinese) post: 【已解决】Mac中安装Gradle
This command brew install maven30 didn't work for me. Was complaining about a missing FORMULA. But the following command did work. I've got maven-3.0.5 installed.
brew install homebrew/versions/maven30
This is for Mac OS X 10.9 aka Mavericks.
If you don't want to install Homebrew only for install Maven you could simply do this:
Download the binary Maven and extract the zip
Launch the Terminal and type this command:
sudo ln -s /path_to_maven_folder/bin/mvn /usr/bin/mvn
You can find more details on this post.
Open terminal
Just use brew command to install maven
brew install maven
After the download and install finished. Check for the maven version
mvn -version
Here you go !!! Now you have successfully installed maven on your mac os.
If you have tried brew install maven and were greeted with missing gcc compiler and some other dependencies, an easier approach is to install sdkman
and then run
sdk install maven
(or refer to the latest documentation for the right command)
sdkman is probably over-qualified for the job, but if you deal with multiple versions of SDKs, it's a pretty nice tool to have in general.
Credits to Ammar for the excellent tip
brew install maven31 (if you have homebrew)
for the ones that just migrated to mavericks - I used the *-ux solution;
download maven from apache maven site
put in /opt
modified .bash_profile and added:
alias mvn='/opt/apache-maven-3.1.1/bin/mvn'
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_21.jdk/Contents/Home
Open a TERMINAL window and check if you have it already installed.
Type:
$ mvn –version
And you should see:
Apache Maven 3.0.2 (r1056850; 2011-01-09 01:58:10+0100)
Java version: 1.6.0_24, vendor: Apple Inc.
Java home: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
Default locale: en_US, platform encoding: MacRoman
OS name: “mac os x”, version: “10.6.7″, arch: “x86_64″, family: “mac”
If you don't have Maven installed already, then here is how to download and install maven, and configure environment variables on Mac OS X:
http://bitbybitblog.com/install-maven-mac/
On Maverick, run in the terminal
xcode-select --install
to install the Command Line Tools.
You can use Maven Version Manager through which you can use multiple version of Maven per directory base.
Installation
Using Homebrew brew install mvnvm
Without Homebrew mkdir -p ~/bin && curl -s https://bitbucket.org/mjensen/mvnvm/raw/master/mvn > ~/bin/mvn && chmod 0755 ~/bin/mvn and add ~/bin to path.
Usage
Default Version
To set default maven version set the environment variable DEFAULT_MVN_VERSION to the maven version to be used by default.
Maven version for the folder
Create a file named mvnvm.properties in the folder and configure the maven version as follows
mvn_version=<maven version>
Two ways to install Maven
Before installing maven
check mvn -version to make sure maven is not install in system
Method 1:
brew install maven
Method 2:
go to https://maven.apache.org/download.cgi
Select any of Binary link
Unzip the link
Move to application folder
Update .bash profile with exports
run mvn -version
This worked for me:
$ vim .bash_profile
export JAVA_HOME=$(/usr/libexec/java_home)
$ source .bash_profile
credit: http://www.mkyong.com/java/maven-java_home-is-not-defined-correctly-on-mac-osx/
% sudo port selfupdate;
% sudo port upgrade outdated;
% sudo port install maven3;
% sudo port select --set maven maven3;
— add following to .zshenv -- start using zsh if you dont —
set -a
[[ -d /opt/local/share/java/maven3 ]] &&
M3_HOME=/opt/local/share/java/maven3 &&
M2_HOME=/opt/local/share/java/maven3 &&
MAVEN_OPTS="-Xmx1024m" &&
M2=${M2_HOME}/bin
set +a
You can install maven using homebrew. The command is
$ brew install maven
After installing maven using brew or manually, using macOS Catalina and using the terminal or iTerm to operate maven you will need to grant access to the apps to access user files.
System Preferences -> Privacy (button) -> Full Disk Access
And then add terminal or iTerm to that list.
You will also need to restart your application e.g. terminal or iTerm after giving them full disk access.
For those who wanna use maven2 in Mavericks, type:
brew tap homebrew/versions
brew install maven2
If you have already installed maven3, backup 3 links (mvn, m2.conf, mvnDebug) in /usr/local/bin first:
mkdir bak
mv m* bak/
then reinstall:
brew uninstall maven2(only when conflicted)
brew install maven2
This worked for me. Its simpler and cleaner.
Open Mac terminal and type:
export MAVEN_HOME=~/apache-maven-3.8.1
export PATH=$PATH:$MAVEN_HOME/bin
Now when you type
mvn -version
You get an output:
Apache Maven 3.8.1 (05c21c65bdfed0f71a2f2ada8b84da59348c4c5d)
Maven home: /Users/nisha/apache-maven-3.8.1
Java version: 16.0.1, vendor: Oracle Corporation, runtime: /Library/Java/JavaVirtualMachines/jdk-16.0.1.jdk/Contents/Home
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "11.4", arch: "x86_64", family: "Mac"
** Edited to add:
When you close the terminal and open again, you will get mvn: command not found and you will have to run the command again.
Refer this post for a permanent installation

Resources