- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
让我们考虑这样的目录结构:
C:\Tests>tree /F
C:.
│ GreetingsUniverse.java
│
└───planets
Earth.java
Jupiter.java
地球和木星有 com.myproject.planets 包
,GreetingsUniverse 有 com.myproject
包。
Javac 无法编译 GreetingsUniverse.java
C:\Tests>javac -cp "C:\Tests\planets" GreetingsUniverse.java
GreetingsUniverse.java:3: error: package com.myproject.planets does not exist
import com.myproject.planets.Earth;
^
GreetingsUniverse.java:4: error: package com.myproject.planets does not exist
import com.myproject.planets.Jupiter;
^
GreetingsUniverse.java:19: error: cannot find symbol
new Earth();
^
symbol: class Earth
location: class GreetingsUniverse
GreetingsUniverse.java:20: error: cannot find symbol
new Jupiter();
^
symbol: class Jupiter
location: class GreetingsUniverse
4 errors
再尝试一下:
C:\Tests>javac -cp "C:\Tests\planets\" GreetingsUniverse.java
javac: no source files
Usage: javac <options> <source files>
use -help for a list of possible options
为什么不能编译?类必须放置在与包相同的目录结构中吗?所以 Jupiter 应该放在 C:\Tests\com\myproject\planets\Jupiter.java 中还是还有其他问题?
最佳答案
最佳实践是在项目目录中包含“src”子目录。然后,根据行业标准,创建“main\java”子目录。然后将目录放入严格对应于包结构的目录中(这是强制性的)。然后,如果您确实想从命令行编译,请使用 -cp
指定“src”目录:
C:.
└───src
└───main
└───java
└───com
└───myproject
└───planets
Jupiter.class
Jupiter.java
c:\temp\project>javac -cp src\main\java src\main\java\com\myproject\planets\Jupiter.java
请注意,包名称必须与相对于类路径的路径完全匹配,因此在我的示例中,包声明是 package com.myproject.planets
,不是 src.com.myproject.planets
。不遵循这一点将会导致像您这样的问题。
如果您有像jp.co.ourcompany.ourdepartment.ourproject.ourpackage.oursubpackage
这样的深层包结构,遵循此规则可能会变得很麻烦,但不幸的是,没有办法解决这个问题。
将源代码放在“src\main\java”中的优点是可以得到 Maven 和 Gradle 等行业标准构建工具的支持。您甚至不必告诉他们您的来源在哪里:约定优于配置等等。
关于javac错误: package com. myproject.planets不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35681168/
我按照 Google Sign-in for iOS 上的所有说明进行操作使用CocoaPods(尽管我以前没有使用过CocoaPods,但仍然不明白它是什么),当我运行程序时,我收到此错误: bri
我目前正在使用 Android Studio 并尝试进行重建,但出现以下错误。 Gradle: FAILURE: Build failed with an exception. * What went
是否可以在同一域中的 2 个不同 url 上保持相同的 jsessionid? 示例: 我在我的网站 (http://MyProject.com) 的主页上。当我点击一个按钮时,我被重定向到“http
我已经多次看到这种包结构模式。最近,我浏览了 Last.fm Android 应用程序代码,想了解为什么有些代码在 fm.last.api 和 fm.last.api.impl 中。 https://
直到现在我在 jboss-4.2.2.GA 和 windows7 中运行 war 文件 在 server/default/deploye 中部署了 myproject.war 和 myproject-
我最近开始对 native 使用react,并遵循教程指南 2 选项一是通过“create-react-native-app myproject”创建项目,另一个是“react-native init
当我将代码从我的笔记本电脑移到我的 Mac Mini 并在那里打开它时,我收到以下错误消息: myProject is locked for editing and you may not be ab
我有一个包含文件 myproject.module 的 C 项目。它看起来像某种构建/制作文件。我想知道哪个工具链可以解释这个文件并构建项目。 文件看起来像这样: % comments look li
我正在使用 asp.net core 3.1 项目模板开发 Web API。没有编译错误。 这是我的代码详情: Program.cs public class Program { public
我不确定发生了什么,但现在我刚刚为我的 mvc 网站上传了一个新的 dll,并且收到以下错误 Parser Error Message: Could not load type 'MyProject.
我有一个文件夹,里面有我的工作 xcode 项目。但是,当我将整个文件夹复制并粘贴到其他位置,然后打开其中的 .xcodeproj 文件时,我收到一条错误消息,指出该项目不存在! 有谁知道为什么要这样
我正在尝试将图像添加到按钮(C# Winform、VS2010)。我已通过在 Resources.resx 文件中添加现有项目来添加资源。然后我将我的图像分配给按钮,一切都很好。当我运行我的程序时,我
我用 MonoDevelop 构建了一个简单的 ASP.NET MVC 2 项目,当它在 MonoDevelop 的调试服务器上运行时就可以了。 然后我在 http://go-mono.com/con
让我们考虑这样的目录结构: C:\Tests>tree /F C:. │ GreetingsUniverse.java │ └───planets Earth.java
如何在我的项目中设置一个 .npmrc 文件来定义我自己的私有(private)注册表?我不想在我的用户配置 .npmrc 中有这种配置。每个其他开发人员都应该能够只 git clone 项目并运行
我正在新服务器上安装以前构建的网站。我不是最初的开发者。 我过去曾使用 Gunicorn + nginx 来保持应用程序的运行(基本上遵循 this tutorial ),但在这里遇到了问题。 我 s
一旦我将资源添加到我的项目中,所有包含“Properties.Resources”的代码引用都被标记为错误,告诉我“命名空间‘MyProject 中不存在类型或命名空间名称‘Resources’。属性
我已按照 channel 2 教程进行操作,但在运行 py manage.py runserver 后出现此错误 File "C:\Users\Mach2\AppData\Local\Programs
从 Eclipse 升级到 Android Studio 后,我想更新我的 TouchDB 库,现在是 Coubasebase-lite-android .我从我的项目中删除了 TouchDB,通过文
我正在尝试重建 Hibernate 配置,但出现错误的编译器设置错误,请在下面找到我的应用程序配置和错误的屏幕截图: 最佳答案 问题是因为 Eclipse 运行在与我的项目中指定的 JVM 不同的 J
我是一名优秀的程序员,十分优秀!