Джерси Maven проекта POM. XML Ошибка 1-й строки - PullRequest
2 голосов
/ 17 апреля 2020

Я внедрил систему управления больницей с помощью REST api. Когда моя отдельная часть работает без ошибок. Но мы интегрировали этот проект с помощью GitHub, затем он выдает ошибку в pom. xml 1-я строка. Это строка ошибки в коде.

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

это мой pom. xml файл.

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>Hospital</groupId>
  <artifactId>Hospital</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>
  <build>
    <sourceDirectory>src</sourceDirectory>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.6.1</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-war-plugin</artifactId>
        <version>3.0.0</version>
        <configuration>
          <warSourceDirectory>WebContent</warSourceDirectory>
        </configuration>
      </plugin>
    </plugins>
  </build>

  <dependencies>
        <dependency>
            <groupId>com.sun.jersey</groupId>
            <artifactId>jersey-bundle</artifactId>
            <version>1.19.4</version>
        </dependency>
        <dependency>
            <groupId>com.sun.jersey</groupId>
            <artifactId>jersey-core</artifactId>
            <version>1.19.4</version>
        </dependency>
        <dependency>
            <groupId>com.sun.jersey</groupId>
            <artifactId>jersey-server</artifactId>
            <version>1.19.4</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.48</version>
        </dependency>
        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
            <version>2.2.3</version>
        </dependency>
        <dependency>
            <groupId>org.jsoup</groupId>
            <artifactId>jsoup</artifactId>
            <version>1.8.1</version>
        </dependency>
    </dependencies>

</project>

это моя ошибка

Apr 17, 2020 5:53:40 PM com.sun.jersey.api.core.ScanningResourceConfig logClasses
INFO: Root resource classes found:
  class homePage.service.HomePageService
  class doctors.service.DoctorService
  class hospital.service.HospitalService
  class user.service.UserLoginService
  class user.service.UserRegisterService
  class payment.service.PaymentService
Apr 17, 2020 5:53:40 PM com.sun.jersey.api.core.ScanningResourceConfig init
INFO: No provider classes found.
Apr 17, 2020 5:53:41 PM com.sun.jersey.server.impl.application.WebApplicationImpl _initiate
INFO: Initiating Jersey application, version 'Jersey: 1.19.4 05/24/2017 03:46 PM'
Apr 17, 2020 5:53:43 PM com.sun.jersey.spi.inject.Errors processErrorMessages
WARNING: The following warnings have been detected with resource and/or provider classes:
  WARNING: A sub-resource method, public java.lang.String hospital.service.HospitalService.ReadHospitals(), with URI template, "/", is treated as a resource method
  WARNING: A sub-resource method, public java.lang.String hospital.service.HospitalService.insertHoapitalDet(java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String), with URI template, "/", is treated as a resource method
  WARNING: A sub-resource method, public java.lang.String hospital.service.HospitalService.deleteHospitalDet(java.lang.String), with URI template, "/", is treated as a resource method
  WARNING: A sub-resource method, public java.lang.String hospital.service.HospitalService.updateHospitalDet(java.lang.String), with URI template, "/", is treated as a resource method
  WARNING: A sub-resource method, public java.lang.String doctors.service.DoctorService.updateDoctor(java.lang.String), with URI template, "/", is treated as a resource method
  WARNING: A sub-resource method, public java.lang.String doctors.service.DoctorService.insertDoctor(java.lang.String,java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String), with URI template, "/", is treated as a resource method
  WARNING: A sub-resource method, public java.lang.String doctors.service.DoctorService.deleteDoctor(java.lang.String), with URI template, "/", is treated as a resource method
  WARNING: A sub-resource method, public java.lang.String doctors.service.DoctorService.readDoctors(), with URI template, "/", is treated as a resource method
  WARNING: A sub-resource method, public java.lang.String user.service.UserRegisterService.insertUser(java.lang.String,java.lang.String,java.lang.String,int,java.lang.String,int), with URI template, "/", is treated as a resource method
  WARNING: A sub-resource method, public java.lang.String user.service.UserLoginService.validateLogin(java.lang.String,java.lang.String), with URI template, "/", is treated as a resource method
  WARNING: A sub-resource method, public java.lang.String user.service.UserLoginService.readUser(java.lang.String,java.lang.String), with URI template, "/", is treated as a resource method
  WARNING: A sub-resource method, public java.lang.String user.service.UserLoginService.updateUser(java.lang.String), with URI template, "/", is treated as a resource method
  WARNING: A sub-resource method, public java.lang.String user.service.UserLoginService.deleteUser(java.lang.String), with URI template, "/", is treated as a resource method
  WARNING: A sub-resource method, public java.lang.String payment.service.PaymentService.validatePayment(java.lang.String,java.lang.String), with URI template, "/", is treated as a resource method
Apr 17, 2020 5:53:43 PM org.apache.catalina.core.StandardContext reload
INFO: Reloading Context with name [/Hospital] is completed

это моя больница java class

package hospital.model;



import java.sql.*;

import dbconnector.DBConnect;

public class Hospital {

    public String insertHoapitalDet(String MOHcode, String Hos_name, String Hos_email, String Hos_managername,  String Hos_address, String Hos_phoneNumber )  
    {   
        String output = ""; 

        try   
        {    
            DBConnect db = new DBConnect();
            Connection con = null;
            con = db.connect();


            if (con == null)    
            {
                return "Error while connecting to the database for inserting.";
            } 

            // create a prepared statement    
            String query = " insert into hospital "
                        + "(`hospitalID`,`mohCode`,`hospitalName`,`emailAddress`,`managerName`,`address`,`telephoneNo`)"     
                        + " values (?, ?, ?, ?, ?, ?, ?)"; 

            PreparedStatement preparedStmt = con.prepareStatement(query); 


            // binding values   
            preparedStmt.setInt(1, 0);    
            preparedStmt.setString(2, MOHcode);    
            preparedStmt.setString(3, Hos_name);    
            preparedStmt.setString(4, Hos_email);
            preparedStmt.setString(5, Hos_managername); 
            preparedStmt.setString(6, Hos_address);
            preparedStmt.setString(7, Hos_phoneNumber);

            // execute the statement    
            preparedStmt.execute();    
            con.close();  

            output = "Inserted successfully"; 

          }
          catch (Exception e)   
          {    
              output = "Error while inserting the hospital details.";    
              System.err.println(e.getMessage());     
          }
        return output; 
    }


    public String readHospitalDetails()  {

        String output = ""; 


        try   
        {   
            DBConnect db = new DBConnect();
            Connection con = null;
            con = db.connect();


           if (con == null)   
           {
               return "Error while connecting to the database for reading.";  
           } 


           // Prepare the html table to be displayed    
           output = "<table border=\"1\"><tr>"
                    + "<th>MOH Code</th>"
                    + "<th>Hospital Name</th>"
                    + "<th>Email</th>"
                    + "<th>Manager name</th>"
                    + "<th>Address</th>"
                    + "<th>TelNo</th>"
                    + "<th>UPDATE</th>"
                    + "<th>REMOVE</th>"
                    + "</tr>"; 

           String query = "select * from hospital";    
           Statement stmt = con.createStatement();    
           ResultSet rs = stmt.executeQuery(query); 


           // iterate through the rows in the result set   
           while (rs.next())    
           {    
                String hospitalID = Integer.toString(rs.getInt("hospitalID"));     
                String MohCode = rs.getString("mohCode");     
                String hosName = rs.getString("hospitalName");     
                String emailAdd = rs.getString("emailAddress");  
                String managerName = rs.getString("managerName"); 
                String address = rs.getString("address"); 
                String telNo = rs.getString("telephoneNo"); 

                // Add into the html table     
                output += "<tr><td>" + MohCode + "</td>";     
                output += "<td>" + hosName + "</td>";     
                output += "<td>" + emailAdd + "</td>";     
                output += "<td>" + managerName + "</td>"; 
                output += "<td>" + address + "</td>"; 
                output += "<td>" + telNo + "</td>"; 

                // buttons     
                output += "<td><input name=\"btnUpdate\" type=\"button\"        "
                        + "value=\"Update\" class=\"btn btn-secondary\"></td>"      
                        + "<td><form method=\"post\" action=\"hospital.jsp\">"      
                        + "<input name=\"btnRemove\" type=\"submit\" value=\"Remove\"      class=\"btn btn-danger\">"     
                        + "<input name=\"hospitalID\" type=\"hidden\" value=\"" + hospitalID      + "\">" 
                        + "</form></td></tr>";    
                } 

                con.close(); 

               // Complete the html table    
               output += "</table>";  
            }   

            catch (Exception e)   
            {    
                output = "Error while reading the hospital details.";    
                System.err.println(e.getMessage());   
            } 

            return output;   
    }

    public String updateHospitalDet(String ID, String MOHcode, String Hos_name, String Hos_email, String Hos_managername,  String Hos_address, String Hos_phoneNumber)  
    {   
        String output = ""; 

        try {   

            DBConnect db = new DBConnect();
            Connection con = null;
            con = db.connect(); 

        if (con == null)    
        {
            return "Error while connecting to the database for updating."; 
        } 

        // create a prepared statement    
        String query = "UPDATE hospital SET mohCode=?,hospitalName=?,emailAddress=?,managerName=?,address=?,telephoneNo=?      WHERE hospitalID=?"; 

        PreparedStatement preparedStmt = con.prepareStatement(query); 

        // binding values    
        preparedStmt.setString(1, MOHcode);    
        preparedStmt.setString(2, Hos_name);    
        preparedStmt.setString(3, Hos_email);   
        preparedStmt.setString(4, Hos_managername);
        preparedStmt.setString(5, Hos_address); 
        preparedStmt.setString(6, Hos_phoneNumber); 
        preparedStmt.setInt(7, Integer.parseInt(ID)); 

        // execute the statement    
        preparedStmt.execute();    
        con.close(); 

        output = "Updated successfully";   

        }   
        catch (Exception e)  
        {    
            output = "Error while updating the hospital details.";    
            System.err.println(e.getMessage());     
        } 

        return output;  

    } 


    public String deleteHospitalDet(String hospitalID) 
    {   
        String output = ""; 

        try   
        {    
            DBConnect db = new DBConnect();
            Connection con = null;
            con = db.connect();  

        if (con == null)    
        {
            return "Error while connecting to the database for deleting.";
        } 

            // create a prepared statement    
            String query = "delete from hospital where hospitalID=?"; 

            PreparedStatement preparedStmt = con.prepareStatement(query); 

            // binding values    
            preparedStmt.setInt(1, Integer.parseInt(hospitalID)); 

            // execute the statement    
            preparedStmt.execute();    
            con.close(); 

            output = "Deleted successfully";   
        }   
        catch (Exception e)   
        {    
            output = "Error while deleting the hospital details.";    
            System.err.println(e.getMessage());   
        } 

        return output;  

    }   
}

Это мой класс HospitalService


package hospital.service;

import hospital.model.Hospital; 

//For REST Service 
import javax.ws.rs.*; 
import javax.ws.rs.core.MediaType; 

//For JSON 
import com.google.gson.*; 

//For XML 
import org.jsoup.*; 
import org.jsoup.parser.*; 
import org.jsoup.nodes.Document;

@Path("/Hospitals") 
public class HospitalService {


    Hospital hosObj = new Hospital();


    @GET  
    @Path("/")  
    @Produces(MediaType.TEXT_HTML) 
    public String ReadHospitals() {

        return hosObj.readHospitalDetails(); 

    }


    @POST 
    @Path("/") 
    @Consumes(MediaType.APPLICATION_FORM_URLENCODED) 
    @Produces(MediaType.TEXT_PLAIN) 
    public String insertHoapitalDet(
            @FormParam("mohCode") String mohCode,       
            @FormParam("hospitalName") String hospitalName,    
            @FormParam("emailAddress") String emailAddress,       
            @FormParam("managerName") String managerName,
            @FormParam("address") String address,
            @FormParam("telephoneNo") String telephoneNo)
    {  
        String output = hosObj.insertHoapitalDet(mohCode, hospitalName, emailAddress, managerName,address,telephoneNo);  
        return output; 

    } 


    @PUT 
    @Path("/") 
    @Consumes(MediaType.APPLICATION_JSON) 
    @Produces(MediaType.TEXT_PLAIN) 
    public String updateHospitalDet(String hospitalData) 
    {  
        //Convert the input string to a JSON object  
        JsonObject hospitalObject = new JsonParser().parse(hospitalData).getAsJsonObject(); 

        //Read the values from the JSON object  
        String hospitalID = hospitalObject.get("hospitalID").getAsString(); 
        String mohCode = hospitalObject.get("mohCode").getAsString();  
        String hospitalName = hospitalObject.get("hospitalName").getAsString(); 
        String emailAddress = hospitalObject.get("emailAddress").getAsString();  
        String managerName = hospitalObject.get("managerName").getAsString();
        String address = hospitalObject.get("address").getAsString();
        String telephoneNo = hospitalObject.get("telephoneNo").getAsString();

        String output = hosObj.updateHospitalDet(hospitalID, mohCode, hospitalName, emailAddress, managerName,address,telephoneNo); 

        return output; 

    } 

    @DELETE 
    @Path("/") 
    @Consumes(MediaType.APPLICATION_XML) 
    @Produces(MediaType.TEXT_PLAIN) 

    public String deleteHospitalDet(String hospitalData) 
    {  
        //Convert the input string to an XML doc  
        Document doc = Jsoup.parse(hospitalData, "", Parser.xmlParser());     

        //Read the value from the element <hospitalID>  
        String hospitalID = doc.select("hospitalID").text(); 

        String output = hosObj.deleteHospitalDet(hospitalID); 

        return output;  
    } 
}

Я надеюсь ответить, если кто-то исправил это.

1 Ответ

3 голосов
/ 17 апреля 2020

Я не понял, что вы имели в виду под интеграцией с github.

Я думаю, что эта проблема связана с определением @Path("/") в ваших методах, я говорю это, предполагая, что у вас уже есть уровень класса аннотация @Path("/yourPathSpecificToThisClass"). Тогда вы можете добавить @Path("/somepath"), но не @Path("/"). Это связано с тем, что для идентификации пути требуется только метод запроса (@Get, @Post et c).

================== ====== РЕДАКТИРОВАТЬ ====================================

Я постараюсь написать пример HospitalService класс, как я ожидаю, что он будет выглядеть,

//someAnnotations
@Path("/hospital")
public class HospitalService{


   @Get
   //@Path("/") if you have this annotation here remove it.
   public ResponseEntity readHospitals(/*take input*/) {
       //implementation
   }
   @Post
   //@Path("/") if you have this annotation here remove it.
   public ResponseEntity insertHoapitalDet(/*take input*/) {
       //implementation
   }
   @Put
   //@Path("/") if you have this annotation here remove it.
   public ResponseEntity updateHospitalDet(/*take input*/) {
       //implementation
   }
   @Delete
   //@Path("/") if you have this annotation here remove it.
   public ResponseEntity deleteHospitalDet(/*take input*/) {
       //implementation
   }


}

Надеюсь, вы можете понять это сейчас

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...