Can we call another project java class from our project in eclipse

import ...

public class TriggerJob {

    String jobStatus = "";
    SchedulerMetaData metaData = null;

    public void rightNow(HashMap ParamMap){ 

AnotherProjectClass anp = new AnotherProjectClass();
anp.display();

}
}

You can do either this way:

In the dependency you can add the other projects to your project. Right click on project -> properties -> java build path -> projects. Add your project here.

OR

Make the classes of project into jar and add it to other project

Dependencies should be added in classpath

In run time, make sure the JAR files of the referenced projects is added in class path on both the cases.


Knowing that you using any version of Eclipse, the below steps should help you:

Step #1. Right Click => Project

Step #2. Click Project Properties

Step #3. Click on Java Build Path

Step #4. Click the Projects Tab

Step #5. Click the Add Button

Step #6. Select the Project you want to add

Step #7. Click OK button

Hopefully this help.


I have done like this in my project:

ClientResponse response=WebServiceClient.invokeGRODService("document","get",documentId);
  • invokeGRODService() is a method in WebServiceClient class where URL is mentioned.
  • "document" is method level path,"get" is class level path and documentId is parameter to be passed as an input to other class in other project.
  • invokeGRODService() is as follows:

     public static ClientResponse invokeGRODService(String classLevelPath, String methodLevelPath,Object request){
>           LOGGER.info("invokeGRODService()...Start");
>           ClientConfig config = new DefaultClientConfig();
>           Client client = Client.create(config);
>           WebResource service=null;
>           try{
>               service = client.resource(UriBuilder.fromUri(AppProperties.getProperty(AppConstants.GROD_REST_SERVICE_URL)).build());
>       }catch(PropertyNotFoundException pe){
>           LOGGER.error("Error getting the--- "+pe);
>       }
>       try {
>           ClientResponse response = service.path(classLevelPath).path(methodLevelPath).type(MediaType.APPLICATION_XML).post(ClientResponse.class,
> request);
>           if (response.getClientResponseStatus() != ClientResponse.Status.OK) {
>               String errorResponse = response.getEntity(String.class);
>               LOGGER.error("RECEIVED ERROR FROM WEBSERVICE.."+errorResponse);
>           }
>           LOGGER.info("invokeGRODService()...End");
>           return response;
>       } catch (Exception e) {
>           LOGGER.error("Error while calling GRoD web service: ",e);
>       }
>       return null;
>     }
  • Mention your URL in "AppConstants.GROD_REST_SERVICE_URL". I have taken it from constant through AppProperties.

ClientResponse response = service.path(classLevelPath).path(methodLevelPath).type(MediaType.APPLICATION_XML).post(ClientResponse.class, request);

  • If URL is correct you should get data in response object with status 200(OK).

You have to open your project properties, then clcik on "Java Build Path" and select the tab "Projects". Add the project from which you want to import your classes and do a rebuild.


Make the classes of the project A into jar and add it to the class path of the other project B