我试图建立一个自定义karaf分布与一些预先安装的功能,因为我们没有互联网,我们想部署它。
这是我们的pom:
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>yolo.name.so</groupId>
<artifactId>karaf</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>karaf-assembly</packaging>
<properties>
<karaf.version>4.0.4</karaf.version>
<!-- Karaf Maven Plugin does not have to be same as Karaf Server version
For example, Karaf Maven Plugin 3.0.2 has bug uploading to password protected Nexus Repo
So I used Karaf Maven Plugin 3.0.3 to build a Karaf 3.0.2 Server -->
<karaf.plugin.version>${karaf.version}</karaf.plugin.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.build.reportEncoding>UTF-8</project.build.reportEncoding>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.karaf.features</groupId>
<artifactId>framework</artifactId>
<version>${karaf.version}</version>
<type>kar</type>
</dependency>
<dependency>
<groupId>org.apache.karaf.features</groupId>
<artifactId>standard</artifactId>
<version>${karaf.version}</version>
<classifier>features</classifier>
<type>xml</type>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.cxf.karaf</groupId>
<artifactId>apache-cxf</artifactId>
<version>3.1.4</version>
<classifier>features</classifier>
<type>xml</type>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.ops4j.pax.jdbc</groupId>
<artifactId>pax-jdbc</artifactId>
<version>0.7.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.ops4j.pax.jdbc</groupId>
<artifactId>pax-jdbc-oracle</artifactId>
<version>0.7.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.karaf.features</groupId>
<artifactId>enterprise</artifactId>
<classifier>features</classifier>
<type>xml</type>
<version>${karaf.version}</version>
<scope>runtime</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.karaf.tooling</groupId>
<artifactId>karaf-maven-plugin</artifactId>
<version>${karaf.plugin.version}</version>
<extensions>true</extensions>
<configuration>
<!-- ignoreDependencyFlag is true forces plugin to also
download feature dependent libraries -->
<ignoreDependencyFlag>true</ignoreDependencyFlag>
<finalName>${project.artifactId}</finalName>
<bootFeatures>
<feature>bundle</feature>
<feature>config</feature>
<feature>diagnostic</feature>
<feature>deployer</feature>
<feature>feature</feature>
<feature>jaas</feature>
<feature>shell</feature>
<feature>log</feature>
<feature>management</feature>
<feature>package</feature>
<feature>shell-compat</feature>
<feature>ssh</feature>
<feature>system</feature>
<feature>wrap</feature>
<feature>instance</feature>
<feature>kar</feature>
<!-- custom features -->
<feature>war</feature>
<feature>jdbc</feature>
<feature>cxf</feature>
<feature>cxf-rs-description-swagger2</feature>
<feature>service</feature>
<feature>eventadmin</feature>
</bootFeatures>
<!-- installedFeatures only installs the libraries in the ${KARAF_HOME}/system directory
but the user will have to start it up manually via Karaf command line feature:install
-->
<installedFeatures>
<feature>pax-jdbc</feature>
<feature>pax-jdbc-oracle</feature>
</installedFeatures>
<archiveZip>true</archiveZip>
</configuration>
</plugin>
</plugins>
</build>
我们总是得到以下错误:
feature:install pax-jdbc-oracle
org.apache.karaf.shell.core[org.apache.karaf.shell.support.ShellUtil] : Exception caught while executing command
org.osgi.service.resolver.ResolutionException: Unable to resolve root: missing requirement [root] osgi.identity; osgi.identity=pax-jdbc-oracle; type=karaf.feature; version="[0.7.0,0.7.0]"; filter:="(&(osgi.identity=pax-jdbc-oracle)(type=karaf.feature)(version>=0.7.0)(version<=0.7.0))" [caused by: Unable to resolve pax-jdbc-oracle/0.7.0: missing requirement [pax-jdbc-oracle/0.7.0] osgi.identity; osgi.identity=org.ops4j.pax.jdbc.oracle; type=osgi.bundle; version="[0.7.0,0.7.0]"; resolution:=mandatory [caused by: Unable to resolve org.ops4j.pax.jdbc.oracle/0.7.0: missing requirement [org.ops4j.pax.jdbc.oracle/0.7.0] osgi.wiring.package; filter:="(osgi.wiring.package=oracle.jdbc.pool)"]]
at org.apache.felix.resolver.ResolutionError.toException(ResolutionError.java:42)
at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:235)
at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:158)
at org.apache.karaf.features.internal.region.SubsystemResolver.resolve(SubsystemResolver.java:216)
at org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:263)
at org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1089)
at org.apache.karaf.features.internal.service.FeaturesServiceImpl$1.call(FeaturesServiceImpl.java:985)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Error executing command: Unable to resolve root: missing requirement [root] osgi.identity; osgi.identity=pax-jdbc-oracle; type=karaf.feature; version="[0.7.0,0.7.0]"; filter:="(&(osgi.identity=pax-jdbc-oracle)(type=karaf.feature)(version>=0.7.0)(version<=0.7.0))" [caused by: Unable to resolve pax-jdbc-oracle/0.7.0: missing requirement [pax-jdbc-oracle/0.7.0] osgi.identity; osgi.identity=org.ops4j.pax.jdbc.oracle; type=osgi.bundle; version="[0.7.0,0.7.0]"; resolution:=mandatory [caused by: Unable to resolve org.ops4j.pax.jdbc.oracle/0.7.0: missing requirement [org.ops4j.pax.jdbc.oracle/0.7.0] osgi.wiring.package; filter:="(osgi.wiring.package=oracle.jdbc.pool)"]]
我们希望预先安装此功能,但不知何故,将其置于bootFeatures或installedFeatures下并不重要。
提供的范围/运行时也不重要。
Oracle Maven存储库中没有Oracle JDBC驱动程序和UCP(Java连接池)。
有关从Oracle Maven存储库下载JDBC驱动程序的说明,请参阅以下博客。
由于许可原因,pax jdbc oracle功能无法打包oracle jdbc驱动程序。您必须提供自己的副本,并将其包含在您的分发中。在maven central中无法访问此驱动程序,没有许可证您无法下载。
请参见:https://ops4j1.jira.com/wiki/display/PAXJDBC/Oracle驱动程序适配器
后面几章包括如何在安装软件包格式适合的平台上平台安装MySQL。(即执行“二进制安装”)。也可以在多种平台上安装MySQL二进制分发版。关于适合所有平台的软件包的通用安装指令参见2.7节,“在其它类Unix系统中安装MySQL”。 关于二进制分发版的使用和如何获得的详细信息请参见2.1节,“一般安装问题”。
当使用Inno Setup预处理器生成多行输出时,例如我的这些回答: Inno Setup-递归子目录而不创建相同的子目录 将多个源代码行添加到Inno File部分的函数 以编程方式生成Inno安装文件标志 Inno Setup:为文件夹及其子文件夹中的所有文件动态添加组件 在所有文件的源路径之间进行选择 我总是必须使用< code>#pragma parseroption指令切换到C风格的字符
现在如果我用这个命令 它将创建一个具有最新版本(如5.2)的laravel项目,但是如果我想安装一个特定的版本(如5.1版),该怎么办? 更新::我正在寻找laravel安装程序命令,是否有任何选项/参数用于特定版本的安装?
问题内容: 当查看包含小程序的其他人的网页时,如果安装了多个小程序,如何强制Internet Explorer 6.0使用特定的JRE? 问题答案: 如果您是不是在编写网页的人,那么您可以通过Win XP SP2中添加的 “ 管理加载项 IE选项”屏幕禁用不想使用的加载项
我使用命令在我的Mac上安装Java。但是当我运行 时,我收到以下消息: 无法完成操作。找不到 Java 运行时。 有关安装 Java 的信息,请访问 http://www.java.com。我有几个问题: 如何使用HomeBrew安装JRE 我需要安装哪个JRE版本
使用 Vim 的首先肯定要安装 Vim。这节课我们就来学习下如何在自己的电脑上安装 Vim 编辑器。课程中使用的操作系统是 CentOS 8.0 的 Linux 发行版本,Vim 的版本选择的是 8.0 版本,同学们也可以自行选用其他 Linux 的发行版本。 Vim 在大多数的 Linux 发型版本中都是默认安装好的,无需再手动进行安装。同学们可以先查看一下自己的发行版上有没有安装 Vim: 查