Así que hay una carpeta /usr/share/stuff en el directorio raíz

de cosas hay un montón de archivos de java con package org.name definiciones en la parte superior

Estoy corriendo javac test.java donde test.java está en un subdominio

He añadido /usr/share/stuff a mi ruta de clase.

y en la parte superior de test.java puedo añadir import org.name

Pero me da un package does not exist error…¿por qué?

  • Suponiendo que se han compilado los archivos de java en el directorio correcto (archivos de clase que están en «/usr/share/stuff/org/nombre»), también es necesario para importar los archivos reales o el comodín en test.java (‘import org.nombre.Miclase’ o ‘import org.nombre.*’). Si usted acaba de hacer ‘import org.nombre’ este error sucede (me pregunten cómo lo sé jajaja)

5 Comentarios

  1. 23

    Están en el derecho de los subdirectorios?

    Si pones /usr/share/stuff en la ruta de clases, archivos definidos con package org.name debe estar en /usr/share/stuff/org/name.

    EDITAR: Si usted no sabe esto, usted probablemente debería leer esto: http://download.oracle.com/javase/1.5.0/docs/tooldocs/windows/classpath.html#Understanding

    EDITAR 2: lo Siento, no me había dado cuenta de que estaban hablando de archivos fuente de Java en /usr/share/stuff. No sólo necesitan estar en el subdirectorio adecuado, pero es necesario para compilar ellos. El .java archivos no necesitan estar en el classpath, pero en la ruta de origen. (El generado .class archivos deben estar en el classpath.)

    Usted puede conseguir lejos con la compilación de ellos si no están bajo la estructura de directorios, sino que debe ser, o va a generar advertencias al menos. La clase generada archivos estarán en el derecho subdirectorios (dondequiera que usted ha especificado -d si tiene).

    Usted debe usar algo como javac -sourcepath .:/usr/share/stuff test.java, suponiendo que haya puesto el .java archivos que estaban bajo /usr/share/stuff bajo /usr/share/stuff/org/name (o lo que es adecuado de acuerdo a sus nombres de paquete).

    • Gracias!…Esto aún no funciona, aunque…he hecho esto, pero todavía dice paquete no se encuentra. Es suficiente para modificar la ruta de clases en el subdominio o no de esta necesidad de ser editado en la raíz así?
    • He editado mi respuesta.
  2. 2

    Usted necesita tener org/name dirs en /usr/share/stuff y el lugar de su org.name paquete de fuentes en esta dir.

  3. 2

    Yo tenía este problema, mientras que tratando de usar un tema empaquetado como .jar en mi aplicación, que estaba trabajando, mientras que la depuración de la aplicación, pero no cuando la construcción/exportación de la aplicación.

    Lo resuelto por descomprimir el jar, y manualmente agregar su contenido a mi carpeta de compilación, lo que esto:

    project/
       
       ├── build 
          └── classes
              ├── pt
                 └── myAppName ... 
              └── com
                  └── themeName ...
       ├── src
       └── lib

    No tengo el error y mi aplicación se carga con la intención de tema.

    • Esto funciona, pero es el enfoque equivocado; en su lugar, puede cambiar la configuración para incluir el .jar dentro de su .jar la hora de exportar.
  4. 2

    Tuve el mismo problema al compilar manualmente a través de la línea de comandos, mi solución era que yo no incluyen el -sourcepath directorio de manera de que todo el subdirectorio archivos java compilado demasiado!

  5. 2

    Haga clic derecho con el proyecto de maven
    en la parte inferior de la lista desplegable
    Maven >> reimportación

    a mí me funciona por la falta dependancyies

Dejar respuesta

Please enter your comment!
Please enter your name here