小编elf*_*wyn的帖子

使用Maven 3.0.3和relativePath表示法的不可解析的父POM

迁移到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现在这样做或为什么旧方法是错误的.

pom.xml maven-3

30
推荐指数
3
解决办法
12万
查看次数

将Zend2应用程序与PHPBB3身份验证集成的"正确"方法是什么?

好的,这有点复杂,所以请耐心等待.

我现在正在运行一个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)

php authentication phpbb3 zend-framework2 php-5.6

12
推荐指数
1
解决办法
385
查看次数

在多个Maven工件上分发XSD文件

这是我想要实现的一个小例子:

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目录解析器......

xsd maven-3 xsd-validation netbeans-7

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

如何以编程方式使用dojox.grid.DataGrid创建dijit.Dialog

我有以下问题:

以编程方式创建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这样的动态组件 - 可能会在启动时将其大小更改为对话框.

dojo dialog dojox.grid.datagrid

6
推荐指数
1
解决办法
1万
查看次数