Java For Mac Pro

  1. Java For Mac Download
  2. Java Mac Problem
  3. Java For Mac Pro 10.5
  4. Java For Mac Pro

(P)Bookmarks.dev - Open source Bookmarks and Codelets Manager for Developers & Co. See our How To guides to help you get started. Share your favorites bookmarks with the community and they might get published on Github -

How Important Is Java for the Mac? I seem to be getting notifications for Java updates with increasing frequency. I always try to keep all software up-to-date on my Mac, but not only is Java popping up more often, but the update installer wants to change my homepage to Yahoo. After installing Java for macOS 2012-006, can I continue to use Apple's Java 6 alongside the macOS JDK for Java 12? If you want to continue to develop with Java 6 using command-line, then you can modify the startup script for your favorite command environment.

Well, I’ve recently gone to the “silver” side and acquired a MacBook Pro to use it for development when I am not at my PC. By development I mean here mainly Java + Javascript development. So I’ve written this post to remember what I had to install/configure to achieve this goal.

I need to mention that until now I’ve been a user of Windows (XP/7) and Linux (Ubuntu/Mint/Cent OS) operation systems.

At the time of this writing MacBook Pro runs on OS X Yosemite Version 10.10.5. The new version El Capitan was available, but I didn’t do the upgrade first because it had to many bad reviews…

Contents

  • JDK
  • Extras
    • Keyboard shortcuts
    • MySQL
    • Terminal window

JDK

So first things first- installe a Java Development Kit (JDK), which is a software development environment used for developing Java applications and applets. It includes the Java Runtime Environment (JRE), an interpreter/loader (java), a compiler (javac), an archiver (jar), a documentation generator (javadoc) and other tools needed in Java development.

Download the Mac OS X x64 .dmg files version

You can find out where the JDK is installed, by executing the /usr/libexec/java_home -v 1.7 , on the terminal command:

You will need to know this when setting up a project in IntelliJ for example.

Set JAVA_HOME

JAVA_HOME is just a convention, usually used by Tomcat, other Java EE app servers and build tools such as Maven to find where Java lives.

In Mac OSX 10.5 or later, Apple recommends to set the $JAVA_HOME variable to /usr/libexec/java_home, just export $JAVA_HOME in file ~/.bash_profile or ~/.profile

Maven

With the JAVA_HOME environment variable configure, go to the Apache Maven Downloads website, download the .tar.gz or .zip archive and unpack it in a folder of your choice – I put it under the /opt directory:

It is also recommended to create a symbolic link to the Maven home, so that when let’s say you update your Maven version, you’ll only have to change the symbolic link target:

Then set Maven in the environment variables

Close the terminal and open a new one. When you try now to get the maven versioning you should get something like the following:

An alternative is to use Homebrew and execute the following command:

GIT

Open a terminal window and type the following command for example:

At the next moment you will be asekd to install Xcode. This is the a complete developer toolset for building apps that run on Apple TV, Apple Watch, iPhone, iPad, and Mac. It includes the Xcode IDE, simulators, and all the required tools and frameworks to build apps for iOS, watchOS, tvOS, and OS X (it also contains GNU Compiler Collection-gcc).

You can do the above, but if you do not want everything from that package you can install Homebrew (“Homebrew installs the stuff you need that Apple didn’t.”) and run the following commands:

Either way once Git is installed the initial command git –version will bring the installed version:

If you are working with Github, I recommend you also install the Github Desktop

IntelliJ

In the mean time IntelliJ has become my favorite IDE, mainly because you have almost the same feature support when doing front-end development. To install it, go to the download page and follow the installation instructions:

INSTALLATION INSTRUCTIONS

  • Download the idea-15.dmg OS X Disk Image file.
  • Mount it as another disk in your system.
  • Copy IntelliJ IDEA to your Applications folder

Once done you need to get acquainted with key shortcuts for OS X – IntelliJ IDEA Mac OS X Keymap

Extras

Keyboard shortcuts

General

Please visit](https://support.apple.com/en-us/HT201236) for usual keyboard shortcuts (Cut, copy, paste, and other common shortcuts, document shortcuts etc.)

Finder

  • Shift + cmd + C > go to Computer
  • Shift + cmd + H > go to Home folder
  • Shift + cmd + D > go to Desktop

A quick access with the mouse to the same folders is by dragging and dropping them on the sidebar under Favorites

As long as we are by sidebar subject, a good productivity gain can be achieved by using Smart Folders – these folders let you save a search to reuse in the future. Smart Folders are updated continuously, so they always find all the files on your computer that match the search criteria. Watch the following video to see how you can easily add them to the sidebar

NodeJS

Node.js® is a JavaScript runtime built on Chrome’s V8 JavaScript engine. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient. Node.js’ package ecosystem, npm, is the largest ecosystem of open source libraries in the world. Recently is a must have tool if you need to do fancier stuff on your front-end part of your application.

Go to https://nodejs.org/ and download the latest version for OS X (x64). Double click on the node-v4.2.2.pkg file (latest stable version at the writing of the post) and follow the installation instructions steps.

When ready open a terminal window and check the version installed to see if it is working:

MySQL

Go to Downloads page – http://dev.mysql.com/downloads/mysql/, download the Mac OS X 10.10 (x86, 64-bit), DMG Archive and follow the steps described in the installation guide.

Start, stop server

The MySQL Installation Package includes a MySQL preference pane that enables you to start, stop, and control automated startup during boot of your MySQL installation.

This preference pane is installed by default, and is listed under your system’s System Preferences window, which can be found under Applications.

Access MySQL from command line

Basically need to add MySQL to the PATH variable. Edit the /~.bash_profile with the following:

To test that it’s working start a new terminal and verify mysql version from command line:

Install MySQL Workbench

If you want to have also a GUI on top of it I recommend you install the MySQL Workbench that can be also found in the downloads section. Installation instruction is the same as the MySQL server installation.

Terminal window

Set background black

Open Terminal, then go to the Terminal menu -> Preferences, choose the Settings tab and set the Pro theme as the default.

Sierra

Jump to beginning/end of a line

To jump at

  • beginning of a line – Ctrl+A
  • end of a line – Ctrl+E
  • jump between words – Alt+</>

Open terminal in here

Go to:

Enable New Terminal at Folder. There’s also New Terminal Tab at Folder, which will create a tab in the frontmost Terminal window (if any, else it will create a new window). These Services work in all applications, not just Finder, and they operate on folders as well as absolute pathnames selected in text.

You can even assign command keys to them.

Services appear in the Services submenu of each application menu, and within the contextual menu (Control-Click or Right-Click on a folder or pathname).

The New Terminal at Folder service will become active when you select a folder in Finder. You cannot simply have the folder open and run the service “in place”. Go back to the parent folder, select the relevant folder, then activate the service via the Services menu or context menu.

In addition, Lion Terminal will open a new terminal window if you drag a folder (or pathname) onto the Terminal application icon, and you can also drag to the tab bar of an existing window to create a new tab.

Finally, if you drag a folder or pathname onto a tab (in the tab bar) and the foreground process is the shell, it will automatically execute a “cd” command. (Dragging into the terminal view within the tab merely inserts the pathname on its own, as in older versions of Terminal.)

You can also do this from the command line or a shell script:

This is the command-line equivalent of dragging a folder/pathname onto the Terminal application icon.

Use aliases

To ease your life for long and usual commands use aliases. For example to connect remote instead of typing ssh [email protected] and having to remember ip address or server name, you could just type rmcon (or whatever it’s easy for you to remember). To do that append to the .bash_profile in your home directory the alias command and then source the file:

I can’t stress enough, how much comfortable your life can become, if you are using aliases the right way - A developer’s guide to using aliases

Commands

Find out who is listening on port (e.g. 8080)

iTerm2

A very nice alternative to the “classic” terminal is iTerm, now in version 2:

iTerm2 is a replacement for Terminal and the successor to iTerm. It works on Macs with OS 10.5 (Leopard) or newer. iTerm2 brings the terminal into the modern age with features you never knew you always wanted

Look under Preferences > Keys for shortcuts to easily navigate/move the tabs…

Generate ssh keys

Open a terminal window and execute the following command:

Man pages:

ssh-keygen generates, manages and converts authentication keys for ssh(1).ssh-keygen can create RSA keys for use by SSH protocol version 1 and DSA, ECDSA, ED25519 or RSA keys for use by SSH protocol version 2.The type of key to be generated is specified with the -t option.If invoked without any arguments, ssh-keygen will generate an RSA key for use in SSH protocol 2 connec-tions.

You will be asked then where to store the key (default under /Users/YOUR_USERNAME/.ssh/id_rsa)

When asked for a passphrase you can enter a passphrase to add it to the key. If you choose to add a passphrase every time you want to use your key with ssh, you’ll have to enter this passphrase. It is a little bit more inconvenient, but more secure.

Once that is done, you should get a message like the following:

You can now use the generated id_rsa.pub key and upload it to the systems you want to connect to over ssh.

Java for minecraft

Install Programs from Unidentified Developers {.title}

Java For Mac Download

By default, Mac OS only allows users to install applications from ‘verified sources.’ To change that open the System Preferences > Security & Privacy > General and select “Allow applications downloaded from: Anywhere“. Follow this link, to see a more detailed description with pictures.

Java Mac Problem

Often used UNIX keys on the German/Swiss keyboard

I bought the Mac Book to use it as developer machine on the go and one of my initial surprises was the missing of some keys a developer/terminal user uses pretty often like [] {}~

Find below a map for these keys:

So here it is, my personal keyboard map reminder for the Mac OS X:

pipe symbol alt7
backslash alt shift 7 = alt/
[ left (opening) square bracket alt 5
] right (closing) square bracket alt 6
{ left (opening) curly bracket alt 8
} right (closing) curly bracket alt 9
~ Tilde alt n followed by the space key
@ “At” symbol alt g (lowercase G) alt L German Keyboard

How to test everything is working

A smoke test to verify if everything installed is functioning properly “together” is to generate an application with JHipster and push it to a git repository.

JHipster is a Yeoman generator, used to create a Spring Boot + AngularJS project.

For any suggestions please leave a comment. Thank you.

References

Adrian Matei

Creator of Podcastpedia.org and Codepedia.org, computer science engineer, husband, father, curious and passionate about science, computers, software, education, economics, social equity, philosophy - but these are just outside labels and not that important, deep inside we are all just consciousness, right?

Good news everyone!

You can now put your Java 8 applications onto the mac app store. How do I know? Because I put a little hackathon app I wrote on the Mac App Store. The better news is that Oracle is working on making this very simple with the JavaFX packager. You can get some of the early bits in the open source repo for OpenJFX here (building and using open source code is left as an exercise for the reader).

If you don’t want to wait for the code to get an official release and you are comfortable doing stuff by hand then here are the steps you will need to follow.

Prepare your Environment

First you will need to be signed up as part of the Mac Develoer program at [developer.apple.com]. For this tutorial I will presume your name is Alice Duke, that your Team ID is JJJJJJJJJJ and that the app you are shipping is titled AwesomeJavaApp. You will of course need to change these to real values.

Download your signing keys if you haven’t done so already (here’s how). You will need both the Mac App Distribution and Mac Installer Distribution, and they should automatically be placed in your keychain under the names 3rd Party Mac Developer Application: Alice Duke (JJJJJJJJJJ) and 3rd Party Mac Developer Installer: Alice Duke (JJJJJJJJJJ).

You will also need an entitlements file. Read all about them at the Mac Developer Library. You will have to turn on the app-sandbox entitlement as well as any of the other entitlements you will be using. Be sure to keep track of what entitlements you grand and why they are needed. Apple will be asking you to justify every one of them.

Next, create your Mac .app bundle the normal way you are doing with the javafxpackager, Ant, Maven, or Gradle build. Make sure this app works as it is what we will be bundling up.

Java For Mac Pro 10.5

Next, you will need to copy the info.plist from the existing JDK or JRE into the embedded JRE in your app. It should be either at /Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Info.plist or /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Info.plist, but it is likely to be the first one. Copy this file to AwesomeJavaApp.app/Contents/PlugIns/jdk1.8.0.jdk/Contents/Info.plist.

Now we need to strip a library. The Mac App Store doesn’t accept apps that even mention the deprecated Quicktime API, so we will need to remove the media capabilities tom JavaFX. If your app uses the JavaFX media apis you are out of luck for the time being. There is a bug to fix this in a future release.

The good news is that the Java 8 license lets us fix the problem, at least when it comes to JavaFX. Remove the file libjfxmedia.dylib.

Signing the app (in may different places) is next. Apple loves their cryptographic hashes.

First, you may need to make the JDK in the app bundle writeable. The codesign program won’t sign read-only binaries. chmod -R +w AwesomeJavaApp.app/Contents/PlugIns/jdk1.8.0.jdk should do the trick.

You need to sign all jars, dylibs, and executable files in the bundle (with one exception). Enumerating them is left as an exercise to the reader. Any decent build tool can do it for you. You will need to sign it with both the identity you have and the entitlements you want

There is one caveat. Don’t sign the main excitable of the app bundle. It is in Contents/MacOS and has the name of your application, for example it would be AwesomeJavaApp.app/Contents/MacOS/AwesomeJavaApp. We will get that signed another way.

Another quirk is that you can give different entitlements to each file. In the javafxpackger we sign with an entitlements file that contains only the app-sandbox andinherit entitlements, so they inherit all the entitlements from the main application.

Next, you will want to sign the Java directory itself. Actually you need to sign all plugins and frameworks in your app, but the overwhelming majority of java apps will only have one plugin: Java.

Finally, we can sign the application itself. Yes, we can actually shave the yak at this point.

You may or may not need all of the flags I’ve show with codesign, as I have not exhaustively tested them in all the possibly combinations. You may not need the --deep flag, but adding it will not get you out of signing all the interior jars and libraries. You may not need the -f flag but it insures that your signature will be the only one. Finally, you may want to add a --verbose=4 flag to see all the gory details. Or not.

I bet you thought you were done? Now we need to create an installer package to send to the app store. Use the productbuld too to generate the need file

Note that you are signing this with the second key you downloaded: the one for installers.

If you feel the need you can test the install:

Now you can load it into the Mac App store using the Application Loader tool. You will first need to go to iTunes Connect and set things up. But we have now left the Java specific part of the assembly so there are many other blog posts out there by more qualified and experienced Mac App Store developers.

There are many other potholes that you could run into. Two I hit were not having a [email protected] icon, and another was a dispute about copyright on an icon. I changed the icon rather than wade through the appeals process to prove that the icon was in the public domain.

Java For Mac Pro

I plan on keeping this post up to date with any changes or corrections, so feel free to bookmark this page.