问题标签 [java-package]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
65 浏览

java - 封装重组

嗨,我正在尝试重组包,但没有运气。假设一个项目中有多个包,例如:

我想以以下格式对其进行重组:

可以这样想,有 50 个以 main.java 开头的包。所以我想把main.java作为主包,main.java包下的50个包我该怎么做?

0 投票
1 回答
29 浏览

java - javac 添加类路径会破坏我的本地类编译

当我将一个包导入我的MyLib类(需要-cpjavac)时,我无法再编译我的MyMain类。

MyMain.java:

MyLib.java:

当我javac MyLib.java这样做的时候

那行得通,但如果我

我明白了

但是如果我添加-cp到编译命令

我明白了

0 投票
1 回答
61 浏览

scala - 是否可以在包对象中进行最大规模的发现?

我有几个测试方面共享多个测试类,所以我将它们聚合成一个特征以混合到包对象中,期望这些测试类将在包下被发现:

(在特质上)

(在包装 1 中)

(在包装 2 中)

不幸的是,当我调用 scalatest 运行所有测试时,似乎无法发现这些类(Suite1、Sutie2、Sutie3)com.spike.scalatest_spike,这些类似乎在类发现中被忽略了。

我应该对我的项目或/和 scalatest 源代码进行哪些更改以使其正常工作?

0 投票
2 回答
126 浏览

java - Android Studio:将新的 java 文件添加到现有包 - “未解决的参考”

我正在寻找android 应用程序中的 HTML 到 PDF 转换

我在解决方案编号 1 中执行“它必须在包中”.../java/android/print/”时遇到问题。如何在 android.print 包中添加 PdfConverter.java 并且 android studio 可以识别它?

当我手动添加它,修复 PdfConverter.java 并将其添加到目录时,android studio 无法识别它,我得到“未解决的参考:PdfConverter”。

是否有另一种合适的方法可以在 android.print 包中添加 PdfConverter.java 而不会出现上述错误?

先感谢您。

0 投票
0 回答
31 浏览

java - 多个包上的 Java Swing 应用程序

我目前正在使用带有 Window builder 的 Eclipse 上的 Java SE-13 进行自我项目。

我打算使用单个按钮作为 event-source 创建一个具有以下设计流程的程序。

[Edit](对于那些不想访问链接的人)

Default Package Swing application <---> Package A swing application

我使用包来帮助我模拟然后我使用人员程序并集成它。尝试考虑模块化并保持项目组织[/编辑]

我曾尝试使用以下两种方法。

  • 使用 XXX.dispose() 销毁“当前 Swing 应用程序”(扩展 Frame),创建第二个 Swing 应用程序的实例并将其设置为可见。

如果流是一个方向但不是双向的,它工作正常。当我尝试返回到“当前 Swing 应用程序”时,它无法销毁引发 Nullpointer 异常的第二个 Swing 应用程序。

  • 使用卡片布局。通过创建多个 Jpanel 并仅将我希望显示的一个设置为可见(真)。

它允许我进行双向流动。但我没有使用包。

我听说过 getContentpane() 方法,但我不确定它是否符合我的要求或最佳实践。如果是这样,如果不是,你将如何实施,你将如何实现我的愿望流。

谢谢并保重

0 投票
1 回答
649 浏览

java - 除非使用相同的命令编译包类,否则不会编译模块信息

我有一个名为myModule. 在其中,还有另一个名为myPackagemy的文件夹Main.class

旁边myPackage有我module-info.java要编译的。首先看一下文件夹层次结构:

问题是当我想module-info.java用以下命令编译我的:

我收到以下错误:

但是,当我将 Main.java 放在 myPackage 中,然后使用相同的命令编译这两个文件时:

错误消失。我不明白为什么会发生这种情况?

0 投票
1 回答
126 浏览

maven - 如何在 Java 中导入用户创建的包?

我最近在 Github 的包注册表上托管了一个 Maven 包,现在我正在尝试使用它。该包旨在提供各种应用程序使用的数据模型,允许我的团队对数据模型包进行更改,而不是更新共享它们的所有 Spring 应用程序中的模型。

我将依赖项放在pom.xml需要数据模型包的应用程序文件中,然后运行mvn install(我还必须修改我的 .m2/settings.xml 文件才能访问存储库)。我的印象是该软件包已安装,因为它记录了成功并且它显示在我的 IDE 的 maven 插件依赖项列表中。

现在我被困住了。到目前为止,我认为一旦安装了包,我就可以导入我需要的类,就像我一直使用 Maven 包一样。但是当我尝试这样做时,我的 IDE 找不到包。

我又开始查看数据模型包,想知道是否需要提供一些额外的元数据。具体来说,我想我可能需要提供一些模块描述符,但我不能确定这是否真的会让我更接近能够使用该包。

这是pom.xml数据模型包。

当我使用 Gradle 发布包时,我得到以下日志输出:

我运行时打印的日志mvn install很长,所以我就不贴了,但是它不会产生任何错误,我可以看到它下载了datamodel jar并构建成功。它还显示在项目目录的外部库列表中。

外部库

数据模型的组 id 与我想在其中使用它的应用程序的组 id 相同(我的公司名称)。当我输入import com.companyname.它建议一些本地包但不识别数据模型。当我将鼠标悬停在红色文本上时,工具提示会说Cannot resolve symbol 'datamodel'

我现在需要做什么,以便我的应用程序可以从我创建的 maven 包中导入类?

0 投票
3 回答
118 浏览

java - 如何仅在不同包中限制另一个类中的类可见性?

我的项目中有以下包和类结构,

我的意图是 OrderCancellationService 应该只由 DrugOrderManager 调用,任何其他类/服务都不应该直接调用它。我正在尝试将 DrugOrderManager 作为所有服务的网关。如何限制这种可见性?请指教

0 投票
3 回答
410 浏览

java - 使用包时获取 java.lang.ClassNotFoundException

我有一个ComPac.java带有以下代码的java文件:

该文件位于路径:/home/ec2-user/java_c

为了编译这个文件,我运行了javac Compac.java,并且生成了类文件。

在此处输入图像描述

现在轮到运行类文件了。

所以我做了java ComPac(下面的截图)

java ComPac

可以理解的是,我得到了错误Error: Could not find or load main class ComPac. Caused by: java.lang.NoClassDefFoundError: com/ComPac (wrong name: ComPac). 我假设是因为 java 文件中com声明了包。

因此,我尝试了,java com.ComPac并希望它能够工作(下面的屏幕截图)。

java com.ComPac

但我得到了错误:Error: Could not find or load main class com.ComPac. Caused by: java.lang.ClassNotFoundException: com.ComPac

那么我该如何运行呢?当涉及到 java 中的包时,运行的逻辑到底是什么?

使用Java-openjdk version "11.0.8" 2020-07-14 LTS(AWS Corretto)

使用的操作系统-Amazon Linux 2

0 投票
2 回答
205 浏览

java - 在java中使用包内的主类

我正在尝试运行在同一个包中调用保护类的文件 Demo.java,但它给出了错误这是主类。

这是我想在主类中使用的类。

它给出了这个错误: