Ошибка вызова моего метода testImage () из импортированного файла .jar из Eclipe в Wavemaker - PullRequest
1 голос
/ 30 сентября 2019

Я просто пытаюсь вызвать мой метод testImage () в Wavemaker. Я импортировал файл .jar после того, как приложение отлично запустилось в Eclipse. Однако, когда я вызываю тот же метод в файле .jar в Wavemaker, он выдает эту ошибку:

  Error
Compile failed with output: [{"filename" : "master/services/MyJavaService1/src/com/demo_jquery/myjavaservice1/MyJavaService1.java","type" : "ERROR","lineNumber" : 134,"columnNumber" : 22,"startPosition" : 4743,"endPosition" : 4751,"message" : "The method testImage() in the type pictures.TestUrl is not applicable for the arguments (java.lang.String)"}]

Теперь я покажу вам класс TestUrl, который я вызываю для вызова двух моих методов testImage () и getImage():

package pictures;



import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;

import javax.imageio.ImageIO;

/*
 * By: Victor Foning
 * 
 * This program will consist of two Methods: 
 * 
 * The First will Test the Validity and reachability of an validity 
 *  of an image URL.
 *  
 * The second methods will log4j
 * 
 * 
 * 
 * 
 * 
 */
public class TestUrl {

       public Boolean testImage (String l) {

         //  String urlString = "http://www.eurobiopark.org/sites/default/files/EurobioparkMashups5.1.png";
             System.out.println("Using " + l);

          // Open connection

             URL u = null;
            try {
                u = new URL( l);
            } catch (MalformedURLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
             URLConnection connection = null;
            try {
                connection = u.openConnection();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

          // Check if response code is HTTP_OK (200)

             HttpURLConnection httpConnection 
                   = (HttpURLConnection) connection;
             int code = 0;
            try {
                code = httpConnection.getResponseCode();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
             String message = null;
            try {
                message = httpConnection.getResponseMessage();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } 
             System.out.println(code + " " + message);
             if (code == HttpURLConnection.HTTP_OK) {

                 return true;

             } else {
                return false;
             }



       }

       public void getImage (String u)  {

           BufferedImage image =null;
            try{

                URL url =new URL(u);


                // read the url
               image = ImageIO.read(url);



                ImageIO.write(image, "jpg",new File("C://Users//Foning//Desktop//GeoDataLab//mash7.jpg"));

            }catch(IOException e){
                e.printStackTrace();
            }

        }
}

Изображение загружается локально, и консоль выглядит так:

Using http://www.eurobiopark.org/sites/default/files/EurobioparkMashups5.1.png

200 OK true

Вот мой основной класс TestDownload, через которыйЯ вызываю два моих метода:

   package pictures;

import java.io.IOException;


/*
 * By: Victor Foning 17/Septembre/2019
 * 
 * From this Main Methods we will call: 
 * 
 * TestUrl.java and the GetImage.java Methods
 * 
 * 
 * 
 */
public class TestDownload {

    public static void main(String[] args)  {

           String path = "http://www.eurobiopark.org/sites/default/files/EurobioparkMashups5.1.png";

        // We Begin encapsulating the TestUrl Methods


        TestUrl im = new TestUrl();

        boolean image = im.testImage(path);
        if(image){
             im.getImage(path);
           System.out.print("true");



        }

        else{
            System.out.print(" victor_WakeUP_false");
        }



    }

}

Здесь я затем экспортирую файл .jar (выделен жирным шрифтом) в Wavemaker и вызываю тот же метод через мой класс JavaService:

пакет com.demo_jquery.myjavaservice1;

import javax.servlet.http.HttpServletRequest;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import pictures.TestUrl;

import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;

import org.springframework.beans.factory.annotation.Autowired;


import com.wavemaker.runtime.security.SecurityService;
import com.wavemaker.runtime.service.annotations.ExposeToClient;
import com.wavemaker.runtime.service.annotations.HideFromClient;

Здесь вы найдете класс getImageFromWaveMaker (), который я создаю внутри своего класса javaService1 для вызова двух моих методов:

    package com.demo_jquery.myjavaservice1;

import javax.servlet.http.HttpServletRequest;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import pictures.TestUrl;

import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;

import org.springframework.beans.factory.annotation.Autowired;


import com.wavemaker.runtime.security.SecurityService;
import com.wavemaker.runtime.service.annotations.ExposeToClient;
import com.wavemaker.runtime.service.annotations.HideFromClient;

import com.demo_jquery.myjavaservice1.model.*;


@ExposeToClient
public class MyJavaService1 {

    private static final Logger logger = LoggerFactory.getLogger(MyJavaService1.class);

    @Autowired
    private SecurityService securityService;


    public void getImageFromWavemaker( String p) {



           String path  = 
          "http://www.eurobiopark.org/sites/default/files/EurobioparkMashups5.1.png";


        // We Begin encapsulating the TestUrl Methods


        TestUrl im = new TestUrl();

        boolean image = im.testImage(path);
        if(image){
             //im.getImage(url);
           logger.info("true");



        }

        else{
            logger.info("victor_WakeUP_false");
        }

    }
}

Пожалуйста, помогите мне выяснить, почему я получаюи ошибка при запуске этого кода?

1 Ответ

0 голосов
/ 04 октября 2019

Благодаря медитации и позитивной переориентации со стороны некоторых хороших друзей мне удалось решить эту проблему.

Я понял, что даже при объявлении метода допускается использование верблюдов. Я повторно объявил оба метода в своем классе TestUrl, начав их с заглавной буквы.

Со ссылкой на код ошибки:

Также, понимая, что все классы в Java являются производными от класса объектов и что класс String является одним из наиболее важных классов в Java. Я сделал этот класс java.lang.String суперклассом, когда создал все свои классы в Eclipse.

Я сделал maven Compile, который сгенерировал файл .jar. Я приступил к загрузке файла .jar в свой файл lib ресурсов на Wavemaker, соответственно связал свои переменные с моим классом JavaService, и результаты были хорошими. рад это слышать. Спасибо!

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