Overwrite Jboss jar with Maven dependencies - jboss6.x

Hi we have to use JBoss 6.4, But when I try to execute my code it fails due to missing method and works fine with JBoss 6.3 and JBoss 7
the setSSLContext method became available in v4.5 of HttpClientBuiler.
JBOSS 6.4 comes bundled with v4.3.6JBOSS 6.4 comes bundled with v4.3.6
So if I use version 4.5.2 via maven, does it override all the JBoss methods. If not what is the solution?
I want to use JBoss 6.4 only.

If you want to want to use any other version of components which is not bundled with specific Jboss release, then you can create it as module dependencies and use it. Make sure that you should exclude the particular version of components which bundle with JBoss inside jboss-deployment-structure.xml file
see the link: https://docs.jboss.org/author/display/AS7/Class+Loading+in+AS7

Related

Spring Boot use always latest tomcat version

I have a spring boot application and I want to always use the latest tomcat version, or even better the latest patched tomcat version of a given major and minor version:
F.e the latest version of 8 or the latest of 8.5. (like 8.5.32)
So, I would get the latest security patches if I rebuild my application.
I know I can manual give in one concrete version inside the properties.
But this would get fast outdated and I don't want to have to adjust this all the time manually.
If you use gradle then you can do it using this configuration:
compile('org.springframework.boot:spring-boot-starter-web') {
exclude module: "spring-boot-starter-tomcat"
}
compile 'org.apache.tomcat.embed:tomcat-embed-core:+'
compile 'org.apache.tomcat.embed:tomcat-embed-el:+'
compile 'org.apache.tomcat.embed:tomcat-embed-logging-juli:+'
compile 'org.apache.tomcat.embed:tomcat-embed-websocket:+'
if you want to give specific version then use version+
if using maven it's pretty easy! This would get the latest from version 9.0.0 to 9.1.0.
pom.xml:
<properties>
<tomcat.version>[9.0,9.1)</tomcat.version>
</properties>

What's the location of the JavaFX runtime JAR file, jfxrt.jar, on Linux?

I'm trying to run some JavaFX code with Eclipse Kepler, with e(fx)clipse plugin installed, on a Linux machine, using:
java version "1.7.0_21"
OpenJDK Runtime Environment (IcedTea 2.3.9) (7u21-2.3.9-5)
OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)
My understanding is that although JavaFX has been included with the standard JDK since version JDK 7u6, the JavaFX runtime JAR file, jfxrt.jar, was left off of the Java runtime path on purpose until further testing between JavaFX and rest of the java infrastructure has been completed. For this reason you must manually add it to the project build path libraries when we create a new Java project.
I've been looking for that jar in both the following directories without success:
/usr/lib/jvm/java-7-openjdk-common/jre/lib/
/usr/lib/jvm/java-7-openjdk-amd64/lib
Where else should I look for it?
Update March 2021
The previous information in this answer is now obsolete for later versions of Java and JavaFX (e.g. Java 11+). This update provides info for more recent versions.
JavaFX is now available from openjfx.io or the public Maven repository as an SDK or a library set, or a module set. JavaFX has been partitioned into a set of dependencies rather than a monolithic jfxrt.jar library distributed with the Java runtime (as was previously the case with Oracle Java 8 for instance).
With versions 11+ of JavaFX, the location of the JavaFX jar files (and the native libraries to accompany them) will depend on how you build your project. For example:
If you use a build tool such as Maven or Gradle and specify JavaFX as a dependency, then the JavaFX jar files will be downloaded into your local Maven or Gradle repository (the same as other maven dependencies).
If you download the JavaFX SDK from openjfx.io (gluon), then the JavaFX jar files will be in the location you unzipped the SDK to.
The location of jfxrt.jar in Oracle Java 7 is:
<JRE_HOME>/lib/jfxrt.jar
The location of jfxrt.jar in Oracle Java 8 is:
<JRE_HOME>/lib/ext/jfxrt.jar
The <JRE_HOME> will depend on where you installed the Oracle Java and may differ between Linux distributions and installations.
jfxrt.jar is not in the Linux OpenJDK 7 (which is what you are using).
An open source package which provides JavaFX 8 for Debian based systems such as Ubuntu is available. To install this package it is necessary to install both the Debian OpenJDK 8 package and the Debian OpenJFX package. I don't run Debian, so I'm not sure where the Debian OpenJFX package installs jfxrt.jar.
Use Oracle Java 8.
With Oracle Java 8, JavaFX is both included in the JDK and is on the default classpath. This means that JavaFX classes will automatically be found both by the compiler during the build and by the runtime when your users use your application. So using Oracle Java 8 is currently the best solution to your issue.
OpenJDK for Java 8 could include JavaFX (as JavaFX for Java 8 is now open source), but it will depend on the OpenJDK package assemblers as to whether they choose to include JavaFX 8 with their distributions. I hope they do, as it should help remove the confusion you experienced in your question and it also provides a great deal more functionality in OpenJDK.
My understanding is that although JavaFX has been included with the standard JDK since version JDK 7u6
Yes, but only the Oracle JDK.
The JavaFX version bundled with Java 7 was not completely open source so it could not be included in the OpenJDK (which is what you are using).
In you need to use Java 7 instead of Java 8, you could download the Oracle JDK for Java 7 and use that. Then JavaFX will be included with Java 7. Due to the way Oracle configured Java 7, JavaFX won't be on the classpath. If you use Java 7, you will need to add it to your classpath and use appropriate JavaFX packaging tools to allow your users to run your application. Some tools such as e(fx)clipse and NetBeans JavaFX project type will take care of classpath issues and packaging tasks for you.
Mine were located here on Ubuntu 18.04 when I installed JavaFX using apt install openjfx (as noted already by #jewelsea above)
/usr/share/java/openjfx/jre/lib/ext/jfxrt.jar
/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/jfxrt.jar
On Ubuntu with OpenJDK, it installed in /usr/lib/jvm/default-java/jre/lib/ext/jfxrt.jar (technically its a symlink to /usr/share/java/openjfx/jre/lib/ext/jfxrt.jar, but it is probably better to use the default-java link)
The location of jfxrt.jar in JDK 1.8 (Windows) is:
C:\Program Files\Java\jdk1.8.0_05\jre\lib\ext\jfxrt.jar

Running Tomcat 5.5 with JDK 1.4

We have one application which needs to be run on JDK 1.4
I have been searching for quite some time, I couldn't find any resource how to make Tomcat v5.5 use JDK 1.4
As per Running.txt, It can run on JDK 1.4 and needs compatiable package, but what it's, where to download is not there.
Can any one help me with download links for Tomcat v5.5 which can run on JDK 1.4 out of the box?
http://archive.apache.org/dist/tomcat/tomcat-5/v5.5.36/bin/ (or whatever version you require) has the "compat" package along with the main distributions, you should just be able to download that and then unpack it on top of the main distribution to put the required JAR files in common/endorsed.
Looks like the answer should be there:
http://tomcat.apache.org/tomcat-5.5-doc/building.html

Can i install JBOSS SOA-P into existed JBOSS EAP 5.1?

On my server UBUNTU SERVER 12.04 LTS, I installed JBoss EAP 5.1, and everything is working perfectly. Now I need to install JBOSS ESB, JBPM and JBoss Web Services. These 3 packages (except perhaps JBoss Web Services) are contained in JBoss SOA-P 5.2.
Given that JBoss SOA-P also contains JBoss EAP, how do I proceed? Is there a way to install individual packages missing, or can I install SOA-P on EAP? How?
If you have SOA-P 5.2 then I would just install and use that. EAP is included in the SOA-P and everything else you need, i.e. web services etc. should be in the jboss tools (I get them from the nightlies update site aka jboss soa tools). What is your end goal? Do you have a specific project or set of projects that are EAP specific?
also see this: JBoss Enterprise Application Platform vs JBoss Enterprise SOA Platform

Upgrading from Groovy 1.7.2 to 1.8.x

My project demands and upgrade from groovy 1.7.2 to 1.8.x stable release, there are several jar's are created using groovy 1.7.2 version, let me know whether these jar's will be compatible with 1.8.x also or not, or do i need to completely re-built it,
As it says on this mailing list entry:
A jar built with 1.7 will not run with a 1.8 runtime because two files were moved and one was removed.

Resources