java "Class file contains wrong class" error

18,221

Solution 1

You're incorrectly including the bin in the import declaration.

Rather put bin on the classpath and correct the import.

Unless (the poorly-named) myClass_Service.java file is package bin.mywebservice (which it isn't, according the the error message), you're trying to correct the problem in the wrong place.

Solution 2

It looks like the generated class has a package mywebservice, not bin.mywebservice. Make sure the bin directory is on the classpath, and drop bin from the packages.

Share:
18,221
yur15t
Author by

yur15t

Закодировался (программирую, вместо того, чтобы бухать).

Updated on June 04, 2022

Comments

  • yur15t
    yur15t almost 2 years

    I'm trying to make a console application to test my webservice. I successfully deployed a webservice at http://localhost:8080/WS/myWS and i made proxy classes with wsimport:

    wsimport -d bin -s src http://localhost:8080/WS/myWS?wsdl
    

    Now my webservice classes are located in bin/mywebservice/ and i'm trying to compile my client class with classpath = ./

    Here's the source code of my class:

    import bin.mywebservice.myClass_Service;
    public class TesterApp{
        public static void main (String args[])
        {    
            myClass_Service service = new myClass_Service(); 
        }
    }
    

    And i have error:

    TesterApp.java:1: error: cannot access myClass_Service
    import bin.mywebservice_Service.myClass;
                                   ^
      bad class file: .\bin\mywebservice\myClass_Service.class
        class file contains wrong class: mywebservice.myClass_Service
        Please remove or make sure it appears in the correct subdirectory of the classpath.
    

    please help, what's wrong with myClass_Service? i swear, myClass_Service.class exists in .\bin\mywebservice\

  • yur15t
    yur15t over 12 years
    shame on me. i should start learning java from the very beginning.