问题标签 [codebase]
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.
java - Java RMI 代码库不工作
据我了解,我在客户端设置的 RMI 代码库将传递给服务器。然后服务器使用这个代码库来定位不在服务器类路径中的类。
只要服务器类路径中所有必需的类都可用,远程方法调用就可以正常工作。然后,我尝试从服务器类路径中删除所需的类,而是在启动 RMI 客户端时在 codebase 属性中指定所需类的新位置。不幸的是,这会给我一个 ClassNotFoundException: java.lang.ClassNotFoundException: client.Pi
堆栈跟踪:
启动服务器:
启动客户端:
在客户端的类路径 (c:\temp) 中包含客户端也需要的所需的 client.Pi 类。为了告诉服务器这个类所在的位置,我将一个副本放在一个单独的文件夹中,并使用 codebase 属性指定了这个文件夹。该类的确切位置是 C:/Users/samue_000/public_html/classes/client/Pi.class。它都在同一台物理机器上运行(没有虚拟机)。所以我不明白为什么服务器没有从客户端获取代码库并加载所需的 client.Pi 类。
我试图将发布的信息最小化到所需的部分,以免过度填充这篇文章。如果需要更多信息来帮助我解决此问题,请告诉我。这让我快疯了。我在这个问题上工作了几个小时和几天......
编辑:我使用了与oracle的这篇文章中描述的几乎相同的代码。唯一的区别是我以编程方式创建 rmi 注册表,而不是单独启动注册表。所以代码本身应该没有任何问题。只要 Pi 类位于服务器的类路径中,它就可以正常工作。但是一旦 Pi 类只存在于代码库和客户端的类路径中,它就不再起作用了。
git - Git 代码库 repo 到实时站点
所以在我的本地主机上创建了一个网站。我推送到代码库,我想推送它,我该怎么做?
这是我的订单:
谢谢!
android - 使用 IntelliJ IDEA 为免费/付费版本的应用程序维护一个代码库
我需要一些见解/建议/指针(尽可能详细)来实现我的 android 应用程序的免费和付费版本。我使用 IntelliJ IDEA 进行 SVN 开发。
我的目标是维护一个代码库,该代码库通过“useAds”或“useFeatureX”等简单的布尔值实现广告或付费功能。除此之外,我认为只需要更改包和应用程序名称(?)
我看过一些关于将项目转换为库的旧帖子和其他谈论 Gradle 风格的新参考(我从未使用过 Gradle)。前者似乎很复杂,如果它符合我的要求,我不太确定我所读到的内容。后者听起来确实如此,但也许我对 Gradle 的不熟悉使它看起来比实际更令人生畏。
还有其他方法吗?上述方法之一是要走的路吗?安全呢?我正在使用 Proguard,我认为它会从免费版本的最终 apk 中删除未使用的代码/类?
谢谢,对不起,一无所知。
android - Android Studio - 通用代码库
所以我最近从 Eclipse 迁移到了 Android Studio。在大多数情况下,它会更好,但我还没有找到在多个项目之间维护共享代码库的好方法。
我想做的是能够在我的几个应用程序之间共享一些代码。每个应用程序都在其自己的项目中。据我所见,大多数人将其作为库模块添加到应用程序的项目中。问题在于该模块只能从一个项目中访问。我的其他应用程序所在的其他项目无法访问该库。
在我看来,应该有一种机制来创建另一个库项目,然后允许每个应用程序项目访问该代码。这在 Eclipse 中有效,我将在我的工作区中创建另一个项目,将其标记为库,然后让其他项目引用它。我将能够更改库中的代码,然后所有引用它的项目都会使用更新的代码自动构建。
这是我可以在 Android Studio 中做的事情吗?
java - 例外:访问被拒绝(“java.net.SocketPermission”“localhost:80”“listen,resolve”)
localhost
将 Eclipse Kepler (Windows 7) 用于在, port上打开 ServerSocket 的项目80
。
我使用带有策略文件的安全管理器,位于:
在 Eclipse 中,对于项目启动配置属性,对于 VM 参数:
执行的 bin 文件是(我在 Eclipse 中使用单独的源和输出文件夹):
在my.policy
:
从 Eclipse 运行时:
到达代码时:
如果我删除codeBase
过滤器:
问题消失了,所以我想这codeBase
是错误的表达方式。
我已经尝试过为这个问题提出的解决方案,但它不起作用。你能帮助我吗?
java - 服务器中的 RMI UnmarshalException
我试图在 Eclipse(在 Windows 7 x64 上)上复制http://www.ejbtutorial.com/java-rmi/a-step-by-step-implementation-tutorial-for-java-rmi中的教程。
我只是复制了代码,所以,假设一切都正确完成,它应该可以工作。
我不得不更改路径变量,因为rmic或start rmiregistry在每个文件夹中都不起作用。现在我的路径变量是这样的:
我在开头添加了“C:\Program Files\Java\jdk1.7.0_25\bin”。现在,当我打开 cmd 和 digit start rmiregistry时,它工作正常。
问题是当我尝试在 Eclipse 上运行服务器时,在 cmd 上启动 rmiregistry 后,它不起作用并出现:
我在教程中设置了代码库,所以我真的不明白发生了什么......任何建议都非常感谢。提前致谢。
这是堆栈跟踪:
编辑:请注意,即使在 Addition 类的 rmic 中,创建存根,总是有 unmarshallException,即使在 Addition_Stub 而不是 AdditionInterface
git - 从 Codebase Permission denied (publickey) 克隆存储库。致命:无法从远程存储库中读取
嗨,我有这个代码库帐户,我想将它克隆到我的某个文件夹中。我已经在代码库的配置文件中添加了 SSH 公钥。当我尝试 git clone 时,项目的某些路径就是这样
克隆到“网站”...权限被拒绝(公钥)。致命:无法从远程存储库中读取。
请确保您具有正确的访问权限并且存储库存在。
有人可以帮我弄清楚为什么它说权限被拒绝(公钥)?我已经将我的 SSH 公钥添加到我在代码库中的帐户中的个人资料中。非常感谢任何帮助。
c++ - 使用 4 个不同的代码但相关的代码库设置 vim 项目空间
我是一个新手 vim 用户,他非常喜欢 vim,并希望将其带入我的开发工作流程的下一步。
我有 4 个不同的 C/C++ 代码库,它们是使用 3 个不同的编译器编译的。每个代码库都有自己的项目和编译器生成文件。我保持编译器打开以编译不同的项目。两个代码库用于设备的固件,一个代码库用于库,最后一个代码库用于使用库与设备通信的跨平台桌面应用程序。
我主要使用 vim 进行代码编辑,现在我有几个不同的 vim 窗口保持打开状态,即每个代码库一个。我经常退出 vim 编辑器以打开不同的代码文件,这非常低效。我经常需要在同一个代码库的不同文件中查找函数。我经常不得不在代码库之间切换,因为从一个代码库编译的软件处理由另一个代码库的程序生成的数据,我必须仔细检查定义等。
我想知道是否有更好的方法来使用 vim 来组织这个?专家 vim 用户如何设置他的开发工作流程以在同一 vim 环境中使用多个相关代码库,以及他/她如何有效地浏览代码库?
java - RMI 服务器不会从其 HTTP 代码库服务器动态加载缺失的类
语境
这是一个使用 Java RMI 的应用程序,具有:
- 主机 A 上的客户端和主机 B 上的服务器。
- 主机 A 上的 HTTP 服务器,它保存客户端和服务器使用的所有类的副本。
- RMI 注册表是从服务器代码创建的,它共享服务器 JVM 和 CLASSPATH。
对于服务器和客户端应用程序:
- 该
java.rmi.server.codebase
属性(在代码中)设置为 HTTP 服务器 URL。 - 具有适当策略的安全经理已就位。
java.rmi.server.hostname
设置为 LAN 地址。
方法调用:
- 服务器方法是使用类型参数
WorkRequest
(抽象类)定义的。 - 客户端使用子类调用此方法
WorkRequestSquare
。 WorkRequestSquare
从未在服务器代码中提及
服务器代码
客户端代码:
当服务器在 CLASSPATH 中包含所有相关类并且不需要动态加载时,此代码有效。
问题
从服务器端的 CLASSPATH 中删除WorkRequestSquare
会在客户端抛出异常(服务器端不会抛出任何东西):
WorkRequestSquare
从未在服务器代码中明确提及,它应该是可动态加载的,但这不会发生。
旁路
Stuart Marks 让我知道该属性java.rmi.server.useCodebaseOnly
应设置为false
.
在 JDK 7u21 中,此属性的默认值已从 更改false
为。设置为防止 JVM 从任何位置动态加载类,除了使用. 这意味着客户端 JVM 在编组参数时设置的代码库值被.true
useCodebaseOnly
true
java.rmi.server.codebase
WorkRequestSquare
useCodebaseOnly
true
当在服务器上useCodebaseOnly
设置为false
,并且WorkRequestSquare
从服务器 CLASSPATH 中删除类时,服务器现在从 HTTP 服务器获取类定义。这是一个有效的绕过。
问题
由于客户端和服务器具有相同的codebase
属性值,因此仍然存在异常。
何时useCodebaseOnly
默认为true
服务器 JVM 应该忽略codebase
添加到 RMI 流中的客户端,但无论如何它应该使用自己的codebase
来检索WorkRequestSquare
类。
无论如何,这应该是成功的,因为客户端和服务器codebase
值是相同的。
有人可以对这件事有所了解吗?
java - java项目的两个独立编译版本
我的项目跨越两个阶段。第一阶段接近完成。虽然我们已经有了一些功能,但可以将其视为逻辑分离的菜单项,已开发并将在第二阶段交付。
有人建议我维护两个版本的代码库(创建两个分支 phase1Branch 和 phase2Branch)。那是因为我们需要两个编译版本(它是 java,因此部署的工件是一个 jar 文件。我使用 jenkins 构建生成用于部署的 jar 文件的项目。)一个用于阶段 1 和另一个用于阶段 2 的代码库版本。这样它就可以在需要时轻松地从阶段 1 切换到阶段 2,例如在向客户展示演示时。
但是,我仍然认为这可以在不维护两个代码库的情况下完成。
以最少的麻烦为目标服务的最佳实践是什么?