迁移到Mavent 3.0.3后,几个项目中的父poms无法再解析.
Projects以默认方式构建,因此我将parent.relativePath设置为"../pom.xml"
superpom (located in repository)
|-rootpom (located locally: no error)
|-|-parentpom (located locally: error resolving parent)
|-|-|-module1 (located locally: error resolving parent)
|-|-|-module2 (located locally: error resolving parent)
|-|-|-module3 (located locally: error resolving parent)
|-|-|-module4 (located locally: error resolving parent)
Run Code Online (Sandbox Code Playgroud)
错误...
myArtifactId:用于为myGroup不可分辨父POM 1.0:未能找到为myGroup:myParentArtifactId:1.0 http://myRepo.net/archiva/repository/maven2在本地仓库被缓存,resollution不会重新尝试,直到更新间隔maven2已经过去或强制更新,'parent.relativePath'指向错误的本地POM @ myGroup:myParentArtifactId:1.0,C:\ myProjectDir\parent\pom.xml,第x行,第y列 - > [帮助2]
...似乎表明在存储库中搜索了pom,所以我想知道为什么在看到其他地方之前找不到pom.
我已经读过,当在settings.xml中定义了几个存储库时,maven3可能会感到困惑,但这总是在搜索存储库内的pom而不是本地时.
更新
到目前为止,我们确实在父项目级别(parentpom)上执行了maven构建 - 我不知道这个事实很重要,因为maven2到目前为止已成功完成.
使用maven3时,这似乎很重要.在根项目级别(rootpom)上执行maven3时,构建成功完成.所以我的问题就解决了.
由于我不一定想回答我自己的问题,也许有人可以解释为什么maven3现在这样做或为什么旧方法是错误的.
好的,这有点复杂,所以请耐心等待.
我现在正在运行一个PHPBB论坛,我的目标是使用其用户管理和身份验证功能创建一个Zend2 PHP应用程序,而不是构建一个全新的授权组件,而这又需要再次与论坛同步.
以下组件将在实时环境中使用: PHPBB3,Zend Framework 2(最新稳定版),Apache,PHP 5.6 +,MySQL在没有root访问权限的虚拟Linux服务器上运行.
我的开发环境(运行下面的所有示例)是: PHPBB3,Zend Framework 2(最新稳定版),XAMPP 3.2.2,启用了xdebug的PHP 5.6.21,在Windows 8上运行的MariaDB.
每当要求PHPBB的集成时,以下行不可避免地出现在搜索中:
global $phpbb_root_path, $phpEx, $user, $db, $config, $cache, $template;
define('IN_PHPBB', true);
$phpbb_root_path = './forum/phpBB3/'; // this path is from an external example
$phpEx = substr(strrchr(__FILE__, '.'), 1);
$phpBBFile = $phpbb_root_path . 'common.' . $phpEx;
include($phpBBFile);
// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup();
Run Code Online (Sandbox Code Playgroud)
我已经取得了成功,包括那些没有使用框架或直接通过ajax调用php的人,但现在 - 使用Zend 2 Framework - 在包含本机PHPBB3代码时会出现多个问题.
我不得不说我不是一个经验丰富的PHP程序员,而且我现在只学习了几天Zend.
我的第一次尝试集中于在Zends中调用Zend应用程序之前集成上面的代码index.php
:
....
// Setup autoloading
require 'init_autoloader.php';
global $phpbb_root_path, $phpEx, $user, $db, …
Run Code Online (Sandbox Code Playgroud) 这是我想要实现的一个小例子:
Maven Artifact A是许多Web服务之一,它定义了一个XSD Schema,其中包含Requests和Responses的定义.(SRC /主/资源/ XSD)
工件A取决于工件B,它是一个简单的JAR项目,包含大量具有低级类型描述的主XSD.(SRC /主/资源/ XSD)
工件A中的XSD使用在工件B中指定一次的类型定义(包含).
如果可能的话,我真的想知道如何包含位于jar中的xsd文件,这些文件作为maven依赖项加载,以及如何在像Netbeans和Eclipse这样的IDE中解析webservice xsd(和wsdl).
如果这种方法看起来异国情调 - 是否有更好的清洁设计实践?
更新
首先,这是一个简单的例子,说明我希望架构包括如何工作....
Artifact A (WAR Module)
POM:
...
<artifactId>A</artifactId>
...
<dependency>
<artifactId>B</artifactId>
...
</dependency>
Schema:
....
<xs:include schemaLocation="classpath://net/elfwyn/xsd/schema.xsd"/>
....
Artifact B (JAR Module)
Schema Location:
src/main/resources/net/elfwyn/xsd/schema.xsd
Run Code Online (Sandbox Code Playgroud)
对于像这样的问题似乎有几个解决方案,但我不知道如何在我的环境中实现它们:
我知道嵌入在(netbeans7.1)IDE中的目录解析器(对于dev environemnt)并且可用作Maven插件(用于生产环境),它应该能够指定模式文件位置的别名.然后,此别名应用作架构位置.
但是我不知道如何指定访问JAR文件中的模式的Catalog.xml.对我而言,它似乎与直接在架构位置中指定它相同.还有维护每个WAR项目目录的开销 - 如果可能的话我宁愿不去做.
关于Maven插件,我还没有找到任何结论.
其他来源在jax-b的上下文中实现了一个自定义目录解析器,但是我还没有看到在Java-WS环境中实现这样一个解析器的可能钩子,以及它应该如何与上面提到的maven-plugin一起工作或IDE目录解析器......
我有以下问题:
以编程方式创建dijit.Dialog和dojox.grid.DataGrid(链接到全局变量数据存储(dojo.store.Memory)),当对话框大小保持最小时,不显示对话框的内容.
DataGrids Store正确填充,Firebug在Dialog中显示Grid.
data = new dojo.data.ObjectStore(
{ objectStore: new dojo.store.Memory({data:[]}) });
data.put({id:0,name:'Franklin'});
showDialog = function(){
var dlg = dijit.byId('myDlg');
if(dlg){
dlg.show();
}
else{
var cp = new dijit.layout.ContentPane({style:"width:500;height:500;"});
var grid = new dojox.grid.DataGrid({
store : data,
structure : [
{field:'id',name:'ID',width:'50px'},
{field:'name',name:'Name',width:'400px'}]
},cp);
dlg = new dijit.Dialog({
id:'myDlg',
title:'Names',
content:cp.domNode
});
grid.startup();
dlg.show();
}
);
Run Code Online (Sandbox Code Playgroud)
也许我添加了错误的顺序?
另外我不知道使用domNode属性组合/附加dojo小部件的方式是否正确.
我不知道我使用的ContentPane是否需要将Grid放在Dialog中.到目前为止,这两种变体都不起作用
最后,我不确定Dialog是否需要静态测量以及正确调整大小.根据我的经验,Dialog本身并不需要静态宽度或高度,但到目前为止我没有经验添加像Grid这样的动态组件 - 可能会在启动时将其大小更改为对话框.