How to install Java 3D on Mac - macos

I am taking a computer graphics course at my university. I am unable to create 3D graphics using Java since I do not have it properly installed. I downloaded the Java 3D API from Oracle. There is no installer included. Just the raw files j3dcore.jar, j3dutils.jar, and vecmath.jar as well as a few read me files. One of the read me files does contain a link that has instructions for the install. It says I must "Unzip Java 3D 1.5.1 into the "jre" directory of your JDK." Where is my JDK? I found my Java folder System > Library> Java > Extension and moved the files there because I read some other things online. I still get this error message in Eclipse when coding: "Access restriction: the method [whatever] from the type [whatever] is not accessible due to restriction on required library /System/Library/Java/Extensions/j3dutils.jar." But I have this file exactly where it says it should be.

Java 3d version 1.3 is pre-installed in Mac OS X. You shouldn't need to install anything. Perhaps try put things back the way they were?
If you want to upgrade to version Java 3D 1.5, you can download this installer: http://create.ife.no/vr/tools/j3d/java3d_1_5_2-macosx.pkg.zip

Firstly i would make sure that all those files have the correct permissions on them... based on the "Access restriction" error, it seems like the problem might have to do with that. From the looks of it, you have them installed in the right place (thats where mine is installed anyway)
this is what mine looks like:

Open a terminal, navigate to the directory you moved the jars to, and use the command:
chmod +x *.jar
+x is a file permission that allows execution of files as programs; files without this permission set will throw errors if you attempt to execute them. Java is technically a bytecode interpreter and jar files are interpreted rather than run, but it's possible that java checks the file permissions manually before loading classes from jars, in which case it would logically fail with an error similar to that which you're reporting.

If you are using eclipse then you can just download the 3d zip file. Move the jars into your project and right click on them. Select add build path. There should be 3 new jars in the referenced libraries.

Related

MobaXTerm how to create your own plugin?

Problem
I see all these plugins from MobaXTerm, but I don't know how to make my own. I see no links to any tutorials or whatever. Is there even a way to do it?
What I really want (XY problem)
I want to create my own commands. I want these to be available on each server I go to and I don't want to add each of these to my bin and .bash_profile etc. I think plugin is the way to go.
Even more background
I am not that good in shell programming, but I can program java. I created a jar which handles my commands. So I have created my own linux script on my local environment to test all these things. They work, but I dont want to 'export' them to other servers. Seems like a bad idea to do.
MobaXterm plugins are just Windows or Cygwin executables packaged in a .mxt3 file which is just a standard ZIP archive with a specific structure.
Read this from the MobaXterm FAQ:
I would like to create a new plugin for MobaXterm. How can I do that?
Download an existing plugin file (for instance "Midnight commander")
Rename plugin extension from ".mxt3" to ".zip"
Open the ".zip" file You will notice that creating MobaXterm plugins only consists in putting the required commands (executables, libraries
and configuration files) into a ZIP file, keeping the same folders
tree than in MobaXterm ("/bin", "/lib", "/usr", "/etc").
If you want to add a simple Windows program (exe file), you will just have to copy the executable file into the "/bin" directory,
create the ZIP archive, rename it to ".mxt3" and put it in the same
directory than MobaXterm executable.
If you want to add a Linux program, you will have to get it from the Cygwin project or to recompile it using make, gcc, g++ or other
compilers that are available from the MobaXterm "Development" plugin.
Remember MobaXterm's terminal is just Cygwin, so you may be able to cross compile some packages within Moba by simply installing the necessary compiler tools.

"Directory creation was not successful for an unknown reason" error with Ant on Mac

I have a project that builds and works on Windows but when I've brought it over to MacOS (Sierra) and set up Resin, Ant, and the rest of my project in IntelliJ the build is failing with a fairly ambiguous error:
build.xml:24: Directory /java/ant-build/classes creation was not successful for an unknown reason
at org.apache.tools.ant.taskdefs.Mkdir.execute(Mkdir.java:70)
Image of the full error message
At first I thought it was a permissions issue but I ran chmod 755 on the two directories and still am getting this error. I also tried updating to a newer version of Ant to replace IntelliJ's built in one with brew install ant#1.9 but that didn't help either.
Does anyone know of any changes that need to be made to projects when migrating from Windows to Mac? I'm the first one at the company to migrate this project to Mac so unfortunately the others don't know much about this.
Both are using:
IntelliJ IDE 2017.1.2
Built in IntelliJ Ant (1.9.4)
Resin 4.0.51
As the comments on the main post point out, this was a permissions issue where the ant was trying to build in the root directory
I had to change my build.properties file so the paths were point towards my $HOME directory.

How can I get java jdk to work after I installed it in a specific directory?

I am installing jdk on a computer that I do not have admin access to, and used cgywin with cabextract to extract the files from the installer. I then extracted the tools zip into a new directory. However, when I try to run javac from the bin, i get this error:
Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object
I looked again into the directory, and noticed that tools.jar was missing from JDK/lib when I compared it to the file structure on the java documentation.
I was wondering if missing that jar is causing my problem, or if something else is.

OSX Xcode - Packaging dependencies libmysqlclient.18.dylib

This may well have been asked before I just couldn't figure out the right term to search.
I'm writing a client-server application to run on an OSX desktop which will talk to a MySQL server on the local network. It seems long-winded to implement a web-services API when basically a bunch of SQL statements will be perfect internally.
I've wrestled with the install procedure for MySQL server on my development machine, ad had to resort to symlinking libmysqlclient.18.dylib into /usr/lib even though i'd put the include path in header search paths.
What I need to know is how do I create a .app file I can send to other machines that will have access to the libmysqlclient.18.dylib file?
I'm used to Windows having installers to do this and a bit new to OSX programming although i've been doing Obj-c for iDevices for 2 years.
Is there a setting which allows the library to be copied into the .app file or do I need to install the mysql connector on each machine - if so, how do I get around the symlink issue, ideally I need it to work from the stock folders.
If this has been answered somewhere else, please point me in the right direction.
At build time the static linker on OS X, ld, writes the shared library identifier of each library that your application links against in to the application binary. At run time the dynamic linker, dyld, attempts to load each shared library from the paths specified in the application binary. You can see this information using otool -L YourApp.app/Contents/MacOS/YourApp.
The fact you needed to symlink libmysqlclient.18.dylib in to /usr/lib suggests that the shared library identifier of libmysqlclient.18.dylib is something like /usr/lib/libmysqlclient.18.dylib. To include the library in your .app bundle in a way that your application will use it rather than looking in /usr/lib you need to:
Change the shared library identifier of libmysqlclient.18.dylib so that dyld will look for the binary relative to your application binary. This is typically done by running install_name_tool -id #executable_path/../Frameworks/libmysqlclient.18.dylib libmysqlclient.18.dylib.
Copy the modified libmysqlclient.18.dylib in to the Frameworks subdirectroy in your application bundle. This is typically done using a Copy Files build phase in your Xcode project.
You should then be able to verify that the install name written in to your application binary is #executable_path/../Frameworks/libmysqlclient.18.dylib rather than /usr/lib/libmysqlclient.18.dylib (using otool -L YourApp.app/Contents/MacOS/YourApp again). If the install name isn't correct then you'll need to ensure that your linker search path is set up to find your modified version of libmysqlclient.18.dylib ahead of any other versions you may have.

JDK as Zip File only not JRE

Where can I get the latest jdk as a zip file. I don't want the jre, I want the full jdk. I can't run exe's or even request windows installer so it's impossible for me to download the .exe and run it. Also I can't access some uploading sites like Drop box or 4shared. Is there any ftp or place that I can get just zipped up jdk? Thanks you very much. Jportable is not good enough, Thanks.
http://installbuilder.bitrock.com/java/ all the version are available. enjoy. all are ZIP
Ideally, Oracle would provide us with the option of downloading the JDK binaries as a ZIP package instead of forcing us to use the Windows installer. But since they don't, why don't you try downloading the ZIP distribution of another Oracle product that already includes a JDK (e.g. Oracle SQLDeveloper). And please be sure to come back here and let us know if this approach worked out for you. I'm sure there are tons of folks out there looking for workaround too.
It's really simple but, you have to make it yourself.
First, download the JDK from the Oracle Website.
Second, extract all the contents using 7zip or other extracting utility.
Third, navigate through the extracted content and use Java's "unpack200" to convert all the ".pack" files (there's a couple of them) into jar files. You can delete the ".pack" files afterwards if desired.
Note: In order to use unpack200 you need to have a JDK installed on the system. Navigate to the jdk1.x.x_xx/bin folder an run the utility from the command line.
Example: unpack200 rt.pack rt.jar
Thanks.
You can install jdk (with installer, uncheck 'public jre' option), zip installation folder.
Then uninstall jdk. Now you have a jdk zip, you can unzip wherever.
I'm using jdk this way on Windows Vista, both jdk 1.6, and 1.7.
I was also facing the same issue - to get a zip version of JDK7 on my PC. Tried to extract the exe installer and was happy to find that I got a set of folders including jdk,jre, lib,bin etc (similar to the set up that you get by running the installer for Jdk8). But my happiness was short lived - Eclipse did not recognize this path as a valid JDK / JRE installation , while I set up the additional Run time environments.
The fix is to run the exe installer and install it in a different path , outside Program files, so that it doesnt mess up your Java home settings or JRE versions for other client programs.

Resources