How to update a java file in an EAR project - jdeveloper

I am using JDeveloper 10.1. When I import an EAR project,all the jsp and js files are imported. But for java files, only class files are imported. I have some of the java files. If I want to make modifications in a java file, then how to build the new java class after making the changes.
Basically I need to know how to modify a java file in an existing EAR project(since only class files are there), how to create the new EAR after the change so that new class file is updated.
Would really appreciate if someone can help me on this. Thanks

You can't change a compiled class in an EAR. You have to build the EAR again, for which you need the java source files. If you don't have them (and can't get them) you are breaking the law (in most parts of the world).

Related

building a jar library from a war project using maven?

We have a EAR project which has a WAR project. Maven is used, so pom.xml. As typical of any project, this project also contains a big feature (say Job Scheduling "JBS") among many other features. As it is planned to retire this whole project in the near future, it is discouraged heavily to spend much on working on this project (whether bugs or enhancements).
Therefore, for the sake of running the (JBS) feature as a separate application, the whole EAR project was duplicated (also to save time/cost). As a result, all the Java packages and classes (necessary for JBS project) were duplicated. In this situation, if we update one or more classes in the main project, this (JBS) feature project/application gets outdated (and needs update).
The fact is that this JBS feature project ONLY requires many packages of Java classes (from the main EAR-WAR project), and do not require 99% of the web modules and others. I am removing all the unnecessary things from JBS project. Then I would like to create a JAR library with all the java classes, so JBS project can have a dependency on this JAR.
I do not know if it is a good idea to separate these classes out of the main project (to create another Java project). I would like to continue to have these classes as part of the main project. Then, it will be good, as and when one or more of these classes are changed, a new version of the JAR will be generated (right away). And the JBS project would then make use of this updated JAR.
How can we accomplish this? I understand, through maven, we can do a build/package jar/war/ear on a project of that nature. I am not an expert with maven (and did not learn it systematically).
But, is there a way to create one or more JARs additionally from inside WAR pom.xml? In other words: I mean pom.xml of WAR will create a WAR. In addition to creating a WAR, can maven help create additional JAR? Or can maven create two packages out of one pom.xml?
Or should I create a separate module in the main project with all these packages/classes, and have its own pom.xml to generate the necessary JAR? For this, most probably I need to modify the structure of the main project. I would like to avoid this unless there is no way out.
Can you advice?
It seems like the best thing for you would be to create a multi-module project that both contains the JAR and the other project. This way, you can easily change/build them together, but you create separate artifacts.

importing java source into netbeans

I need to quickly come up to speed on a java application written by another person in our organization. There are 309 java source files and I'd like to bring the source into NetBeans 8, create the java classes, and step thru the source using the NetBeans debugger. How do I go about doing this?
I'd try to find out what was original IDE the project was created. It might be possible by viewing files that are in the project root folder. NetBeans may know how to import e.g. Eclipse or maven project.

Include files (.properties files) in gradle builld into the same of directory of the .class

The follow structure
src
service
service1
Service.java
Service.properties
I want that the output generated by gradle would be
classes
service
service1
Service.class
Service.properties
So, I need that the files(.properties) keep in the same directory of the class after build, but the gradle copy the files .properties (resources) to another directory
how can I do it?
I assume you are trying to place them there so they can be loaded from the classpath? The best way to make them available to your class loader is to place them into src/main/resources which is part of the standard directory layout. Gradle will find them there and they will be placed at the root of your jar (by default I believe it ignores property files in src/main/java).
It would also be good to move your java files to to src/main/java. Using the standard directory layout is a convention that will help other developers understand the code. It also allows you to use certain tools out of the box with less configuration because those tools can make assumptions about where things live.
So the new structure would be like:
service1-project
src
main
java
service1.java
resources
service.properties
If you use the standard directory layout, I think you will achieve the end-result of what you are trying to do (which is really to load the properties file within Java). If for some reason you have to avoid the standard directory layout, then you have to start doing custom configuration (a downside of using a non-standard project layout). In Gradle, you should be able to do this by hooking into the Java Plugin's processSourceSetResources target.

Create a maven project to be used as a jar library in another project

I want that a maven project can be used as a black box jar. This is needed because second project was born its way, and I don't want to integrate its code by hand. So the best way is that this project is going to save it's data on db, but it should use a service offered by the "wrapper" project to save them.
The idea is simple, the secondary project can expose just a method to which I will pass the service that offers the save method as a parameter.
The secondary project should not have configuration files, but should rely on the father application's properties.
Any idea to do this fast and almsot good? Thanks for any suggestion.
EDIT 2013/03/07: The idea behind this is that the second project should generate a classic jar library that looks a properties file into the classpath of the host project. Something like Quartz/Spring/... you import jar and you provide the properties file.
I just defined some classes to load properties from the classpath, and some interfaces to make the two projects interact.
In pom.xml of the parent project I imported the child project excluding it's dependencies to avoid conflicts.
It was a pretty easy task at the end.

Eclipse Juno m2ecliipse : directory structure explanation

I'm working under Eclipse Juno on a maven-archetype-webapp project done with m2eclipse.
I don't understand directory structure. Anyone could explain how it's working?
Thanks
What i src/main/ressources for ? When you create package, it's not showed as package but only directory.
I create a /src/main/java package and it's where i put my classes. The package structure hierarchy is ok.
What is librairies ressources? Is it where you put javascript jquery? but when i put jquery plugin it does a lot of effor in the project manager. And i want my javascript under /webapp/javascript... What is ECMAScript Library ? What to do with that, what is for?
Same question about Deployed Ressources and target and Jax-WS Web Services ?
Ok target must be the directory when you build the project maven, but i can't see the war file. When you run build how to configure it in eclipse to generate the build? What is the command ?
Thanks , i know it's a lot of questions but i'm beginner !
Have a great day :)
I just add the example when you put jquery in webapp
All of this is explained here.
src/main/java This is where your source code goes
src/main/resources This is where you put your resources like your xml files. Things that aren't java classes but need to be in your classpath. If you put them under /java, they won't be copied into your classpath so you have to put them here.
src/main/webapp This is for webapps. Everything you put in here will be copied over to your war file, directly.

Resources