小编sti*_*ibi的帖子

如何OSGIfy图书馆

我正在开发一个项目,它是集成项目,我们正在使用Apache Camel和Apache Karaf.在项目中,我需要使用Jira REST Java客户端库.

所以我已经阅读了很多关于如何将非OSGI库包装到OSGI包中的各种文章和线程,但我真的不确定我是否做对了.

所以,我创建了一个POM文件,它依赖于所需的库.制作了一个包并试图将它部署到卡拉夫,当然,卡拉夫抱怨丢失包裹.

所以,我发现了相应的maven依赖,添加它,包进入<Import-Package>和依赖<Embed-Dependency>.

另一轮,部署,找到依赖,添加,再次,再次,直到Karaf与捆绑很好.

这是真的正确吗?在我看来,我觉得很疯狂,所以我想我不会因为usualy :)

最后,包裹变得稳定在我的工作计算机上,我快速检查并回家了,我继续但是,奇怪的是,在我的个人计算机上编译的相同的POM /包不起作用,再次抱怨丢失包裹,但是这次,这个软件包肯定是在POM文件中,并且肯定它是嵌入在包中的,我可以在那里看到它.

这次丢失的包是org.apache.commons.codec.

org.osgi.framework.BundleException: Unresolved constraint in bundle jiraclient.bundle [134]: Unable to     resolve 134.0: missing requirement [134.0] osgi.wiring.package; (osgi.wiring.package=org.apache.commons.codec)
    at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:3826)[org.apache.felix.framework-4.0.3.jar:]
    at org.apache.felix.framework.Felix.startBundle(Felix.java:1868)[org.apache.felix.framework-4.0.3.jar:]
    at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:944)[org.apache.felix.framework-4.0.3.jar:]
    at org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundle(DirectoryWatcher.java:1247)[6:org.apache.felix.fileinstall:3.2.6]
    at org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundles(DirectoryWatcher.java:1219)[6:org.apache.felix.fileinstall:3.2.6]
    at org.apache.felix.fileinstall.internal.DirectoryWatcher.startAllBundles(DirectoryWatcher.java:1208)[6:org.apache.felix.fileinstall:3.2.6]
    at org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:503)[6:org.apache.felix.fileinstall:3.2.6]
    at org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:291)[6:org.apache.felix.fileinstall:3.2.6]
Run Code Online (Sandbox Code Playgroud)

所以,现在我完全糊涂了,出了什么问题:(

很高兴,伙计们,帮助我.谢谢!

POM文件很长,所以我想链接更好:http://pastebin.com/j5cmWveG

osgi apache-camel maven bnd

7
推荐指数
1
解决办法
2945
查看次数

如何使用容器覆盖在 AWS ECS 上运行服务?

在 AWS ECS 上,您可以运行任务或服务。

如果您使用 运行任务run_task(**kwargs),您可以选择覆盖某些任务选项,例如容器环境变量,这样您就可以配置容器内的事物,例如。那太棒了。

现在,我找不到一种方法来做同样的事情 create_service(**kwargs). 您只能指定一个任务,因此创建的容器以任务定义中指定的配置运行。没办法配置。

有没有办法修改服务中的任务,或者这在 AWS ECS 服务中是不可能的?

amazon-web-services docker aws-sdk

7
推荐指数
1
解决办法
1769
查看次数

是否可以将Liferay SDK放在与源代码不同的位置?

我想问一下使用Liferay SDK进行开发的最佳实践.我已经下载了SDK,我已准备好Eclipse,它可以工作,我可以创建新的portlet并运行本地Liferay实例来测试它.

这是我的情况 - 我所拥有的所有源代码都在Eclipse工作区中,目前它只是我正在处理的portlet.

Liferay SDK我的工作区与工作区完全不同.我们说〜/ dev/liferay_sdk.Eclipse工作区位于〜/ workspace中.

在开始时,它没有像那样工作.Eclipse由于某种原因无法找到或使用Liferay SDK.当我将Eclipse/Liferay配置中的"项目验证"更改为"忽略""Liferay插件SDK无效"时,它开始工作没有问题.

例如,当需要构建WAR时,会发生下一个问题.在工作空间的portlet目录中存在"build.xml"文件.但是里面它指的是另一个xml文件,它应该位于一个目录中,而这个文件在相对位置引用更多东西,依此类推.

简而言之,它假设您在Liferay SDK中有portlet等.比如"〜/ dev/liferay_sdk/portlets".

我的问题是,我完全错了,或者你可以建议我最好的做法吗?

我不想混合SDK和代码,这对我来说听起来不对.

感谢帮助!

liferay

5
推荐指数
1
解决办法
3223
查看次数

Docker 映像构建为 AWS CodePipeline 步骤

我能够在 github 和 AWS CodePipeline 之间设置集成,因此现在我的代码在 lambda 函数的推送事件之后上传到 S3。这非常有效。

S3 上带有源代码的新 ZIP 会触发管道,从而构建代码。没关系。现在我还想为该项目构建一个 docker 镜像。

第一个问题是你不能混合项目(nodejs)构建和 docker 构建。很好,有道理。下一个问题是您不能为 docker 构建提供另一个 buildspec.yml。您已手动指定构建命令,好吧,这可以作为解决方法。

但最大的问题,或者说缺乏我的理解,是如何将 docker 构建作为管道的一部分?第一个构建步骤构建项目,下一个构建步骤构建 Docker 映像。两个独立的 AWS CodeBuild。

问题是管道构建步骤必须在输出上生成工件。但是 docker 构建不会生成任何文件,并且看起来 docker 构建后的最终 docker 推送不符合管道服务的工件资格。

有办法怎么做吗?

谢谢

amazon-web-services docker aws-codepipeline aws-codebuild

4
推荐指数
1
解决办法
3965
查看次数

ECS 集群名称与 cloudformation

我正在尝试使用 CloudFormation 在 AWS 上部署 ECS 集群,但我不知道如何为集群设置自定义名称。

集群已创建,但以某种方式生成名称,格式如下stackname-ECSCluster-randomstring.

有没有办法为集群设置自定义名称?

AWS ::ECS::Cluster不接受任何参数或标签,AWS::ECS:Service也不接受任何参数或标签也不接受任何参数或标签。

这是一种装饰性的东西,但如果有一个有意义的名字那就太好了。

amazon-web-services amazon-ecs

3
推荐指数
1
解决办法
2638
查看次数

使用Kubernetes REST API管理部署

我需要使用REST API删除kubernetes部署资源。这是可行的并且可行,但是我发现,虽然删除部署资源还可以,但关联的ReplicaSet却没有。

这意味着其吊舱仍在运行。

我不知道如何找到与部署关联的ReplicaSet的名称。

我在使用kubectl时可以看到它:kubectl描述了部署mydeployment,但是我找不到找到该信息的REST方法。

有办法吗?

kubernetes

3
推荐指数
1
解决办法
757
查看次数