Home Php C# Sql C C++ Javascript Python Java Go Android Git Linux Asp.net Django .net Node.js Ios Xcode Cocoa Iphone Mysql Tomcat Mongodb Bash Objective-c Scala Visual-studio Apache Elasticsearch Jar Eclipse Jquery Ruby-on-rails Ruby Rubygems Android-studio Spring Lua Sqlite Emacs Ubuntu Perl Docker Swift Amazon-web-services Svn Html Ajax Xml Java-ee Maven Intellij-idea Rvm Macos Unix Css Ipad Postgresql Css3 Json Windows-server Vue.js Typescript Oracle Hibernate Internet-explorer Github Tensorflow Laravel Symfony Redis Html5 Google-app-engine Nginx Firefox Sqlalchemy Lucene Erlang Flask Vim Solr Webview Facebook Zend-framework Virtualenv Nosql Ide Twitter Safari Flutter Bundle Phonegap Centos Sphinx Actionscript Tornado Register | Login | Edit Tags | New Questions | 繁体 | 简体


10 questions online user: 8

0
votes
answers
60 views
+10

硒的Java依賴於Maven的設置,但硒要求提供驅動程序路徑

0

我已經設置在Maven的selenium-java依賴性:硒的Java依賴於Maven的設置,但硒要求提供驅動程序路徑

<dependency> 
    <groupId>org.seleniumhq.selenium</groupId> 
    <artifactId>selenium-java</artifactId> 
    <version>3.7.1</version> 
</dependency> 

但是當我運行一個簡單的測試 - 我得到一個異常的路徑驅動程序沒有設置:The path to the driver executable must be set by the webdriver.chrome.driver system property

足夠設置Maven的依賴是不是對硒? 我錯過了Selenium無法讀取Maven依賴關係?

沙发
0
1

設置Maven的依賴是不是足夠的硒?

不,你需要告訴它在哪裏可以找到網絡驅動器在此使用類似:

System.setProperty("webdriver.chrome.driver", complete_path_to_your_chrome_driver_executable_here); 

應該解決這個問題。

您可以在pom.xml中直接執行類似的配置,方法是在屬性部分中定義一個屬性,該屬性部分包含您的路徑,並使用maven-surefire-plugin的配置部分中的systemPropertyVariables。

例如:

建立在你的pom.xml的屬性部分

 
<webriver.path>path_to_your_driver_executable</webriver.path> 

然後在你的Maven的萬無一失,插件的配置部分中添加systemPropertyVariables部分

 
<systemPropertyVariables> 
    <webdriver.chrome.driver>${webriver.path}</webdriver.chrome.driver> 
    [...] 
</systemPropertyVariables> 
0
votes
answers
73 views
+10

應該將mvnw文件添加到存儲庫中嗎?

2

當創建彈簧啓動項目通過使用start.spring.io,一些行家封裝文件獲得包括:應該將mvnw文件添加到存儲庫中嗎?

  • mvnw
  • mvnw.bat

應該在提交給一個混帳回購協議時,有文件被忽略?

沙发
0
3

A mvnw Maven包裝腳本允許您在未安裝Maven的情況下運行Maven命令並將其顯示在PATH上。它通過在你的PATH上尋找Maven來實現,如果沒有找到它,它將它下載並安裝到默認位置(你的用戶主目錄,IIRC)。

它們很方便,但它們不一定是您項目的一部分,與您的項目代碼和配置不一樣。換句話說:

  • 任何給定的mnvw文件可用於多個不相關的項目
  • 一個mvn文件將幾乎肯定不會是不同項目的一個版本到另一個

在此基礎上,你可以作出一個案例不承諾mvnw到您的代碼庫。

然而,包括在你的回購一mvnw腳本確實有這些好處:

  • 允許任何人誰克隆/檢查出你的回購協議,以建立自己的項目,而不需要首先安裝Maven。
  • 確保正在使用的Maven版本是與您的項目兼容的版本。

在此基礎上,你都可以成爲的情況下犯mvnw你的代碼庫。

所以,雙方都有優點和缺點。只要選擇最適合那些將使用您的回購的人的需求的一面。或者:

  • 在您的自述文件中加入一些內容,明確指出(a)Maven是必備條件,(b)需要哪個版本的Maven。

...或:

  • 包括一個mvnw腳本。
板凳
0
1

這取決於,如果你想使用Maven包裝或不。如果不是,那麼你可以刪除這些文件。如果你想使用它,那麼你必須提交存儲庫中的文件,否則使用它是沒有意義的。

0
votes
answers
76 views
+10

如何在eclipse中運行JUnit測試的行爲與在命令行上運行Maven測試的行爲相同?

0

我在Mac OS上爲Eclipse開發人員使用Eclipse Oxygen。我已將我的Maven項目導入到IDE中。通常情況下,在命令行,當我運行一個測試,我將運行像如何在eclipse中運行JUnit測試的行爲與在命令行上運行Maven測試的行爲相同?

mvn test -Dtest=UserServiceTest 

除了運行「測試」的目標,這也將在「過程 - 執行一些自定義代碼我有資源「和」測試編譯「目標。但是,當我在Eclipse IDE中運行我的測試時(通過右鍵單擊包資源管理器中的類名稱,選擇「運行」然後選擇「JUnit測試」),我注意到這些其他目標未運行。

有沒有一種方法來全局設置我的項目,以便當我運行JUnit測試時,它會像輸入上面的命令一樣自動運行?我意識到我可以單獨編輯每個測試的運行配置,但是由於我有數百個,所以這將需要很多工作,並且每次我創建一個新測試時都必須執行它。如果有一些全球性的方式來設置Eclipse來爲我完成這將是非常棒的。

+1

也許運行,因爲maven構建會幫助你。 maven和eclipse不能很好地協同工作..所以我建議eighter用maven(命令行或者maven構建)運行你的測試,或者找到另一個設置你的測試的解決方案,也許@BeforeClass可以幫助你? – IEE1394

+0

是的,但運行Mvaen在命令行編譯時不允許設置斷點和輕鬆排除故障,除非有可以簡化所有這些操作的anotehr(免費)IDE。 – Dave

+0

您可以使用'mvnDebug'命令來獲取可調試的Maven會話,您可以將其附加到您的調試器。 –

沙发
0
1

目前,Eclipse擁有沒有這樣的內置工作區或項目設置/首,我不知道所需功能的任何插件。

所謂的Launch Configuration Templates/Prototypes(另見Eclipse bug 41353)目前正在開發中,預計將與Eclipse Photon on June 27, 2018一起發貨。

考慮更改測試,以便它們可以在本地機器上運行而不需要其他參數,例如, G。通過@BeforeClass(JUnit 4)或@BeforeAll(JUnit 5)。

無解,但提示如何避免在這種情況下點擊幾下鼠標:

  • 要打開和編輯啓動配置,按Ctrl鍵,並單擊或選擇運行按鈕或啓動配置菜單項。
  • 使用Eclipse Runner插件。
+0

關於「考慮改變你的測試,使它們可以在沒有附加參數的情況下在本地機器上運行」,這是不可能的,這就是我提出這個問題的原因。 – Dave

+0

@Dave不幸的是,Eclipse Bug 41353的變化還沒有被應用。一旦應用完成,您可以在2018年6月27日發佈之前(每晚集成版本)[http://download.eclipse.org/eclipse/downloads/]對其進行測試。 – howlger

0
votes
answers
69 views
+10

Jenkins Maven如何修復錯誤的命令

0

學習詹金斯。 Windows 7運行jenkins-2.73.3,maven項目提供以下輸出:Jenkins Maven如何修復錯誤的命令

20:29:11 [test] $「C: Program Files Java jdk1.8.0_102/bin/java」-Xmx1024m - XX:MaxPermSize = 256m -cp「C: Program Files(x86) Jenkins plugins maven-plugin WEB-INF lib maven33-agent-1.12-alpha-1.jar; C: Apps apache- maven-3.3.9 boot plexus-classworlds-2.5.2.jar; C: Apps apache-maven-3.3.9/conf/logging「jenkins.maven3.agent.Maven33Main C: Apps apache-maven -3.3.9「C: Program Files(x86) Jenkins war WEB-INF lib remoting-3.10.2.jar」「C: Program Files(x86) Jenkins plugins maven-plugin WEB-INF lib maven33-interceptor-1.12-alpha-1.jar「」C: Program Files(x86) Jenkins plugins maven-plugin WEB-INF lib maven3-interceptor-commons-1.12- alpha-1.jar「50129 20:29:11錯誤:無法找到或加載主類-Xmx1024m 20:29:41錯誤:lau失敗Maven。退出代碼= 1 20:29:41完成:失敗

問題很明顯:java以-Xmx1024m爲主類。但是該命令已生成,如何將「-Xmx .. -XX:Max ..」移動到命令的末尾?

沙发
0
0

從Maven Project Configuration/Jenkins的全局MAVEN_OPTS中刪除「-Xmx1024m -XX:MaxPermSize = 256m」解決了問題。

+0

似乎你複製並粘貼了該代碼。這種長連字符通常不被計算機程序使用,只能通過專注於人類排版的軟件來使用 – StephenKing

0
votes
answers
71 views
+10

在部署war包後tomcat的webapps目錄下有很多額外的.aut文件

0

我的web應用使用maven來生成war包和tomcat作爲server.But有些人發現,在將war包部署到webapps之後,還有很多額外的.aut文件以及我的項目的有用文件,就像這樣: enter image description here在部署war包後tomcat的webapps目錄下有很多額外的.aut文件

我真的不知道爲什麼,有人可以提出一些想法嗎?

沙发
0
0

的原因是automaton.jar提取到項目目錄 enter image description here

0
votes
answers
51 views
+10

ComponentScan和import org.springframework.context.annotation.ComponentScan無法解析爲類型

0

我的項目在Spring中遇到問題。首先,我無法在服務器上運行它,但是在再次下載所有資源後,它就開始了。ComponentScan和import org.springframework.context.annotation.ComponentScan無法解析爲類型

但現在我有一些進口彈簧在可看不到 例如:

import org.springframework.context.annotation.ComponentScan can not be resolved as a type. 

,並正因爲如此休眠的autwired值

@ComponentScan can not be resolved as a type. 

也沒有創造我的數據庫表(我想所以)

另外兩個配置類有一些錯誤:

類型Spring4Initializer的層次結構是不一致的 SpringSecurityInitializer

public class Spring4Initializer extends AbstractAnnotationConfigDispatcherServletInitializer { 

    @Override 
    protected Class<?>[] getRootConfigClasses() { 
     return new Class[] { Spring4Configuration.class }; 
    } 

    @Override 
    protected Class<?>[] getServletConfigClasses() { 
     return null; 
    } 

    @Override 
    protected String[] getServletMappings() { 
     return new String[] { "/" }; 
    } 

    @Override 
    protected Filter[] getServletFilters() { 
     CharacterEncodingFilter characterEncodingFilter = new CharacterEncodingFilter(); 
     characterEncodingFilter.setEncoding("UTF-8"); 
     characterEncodingFilter.setForceEncoding(true); 
     return new Filter[] { characterEncodingFilter }; 
    } 
} 

SpringSecurityInitializer在該行 多個標記 - 類型org.springframework.web.WebApplicationInitializer不能得到解決。它是間接地從 所需的.class文件

import org.springframework.security.web.context.AbstractSecurityWebApplicationInitializer; 

public class SpringSecurityInitializer extends AbstractSecurityWebApplicationInitializer { 

} 

引用我已經試過的Maven乾淨Maven構建

[WARNING] 
[WARNING] Some problems were encountered while building the effective model for pl.dmcs:eschool:war:1.0.0-BUILD-SNAPSHOT 
[WARNING] 'dependencies.dependency.(groupId:artifactId:type:classifier)' must be unique: org.springframework:spring-context:jar -> version ${org.springframework-version} vs 4.3.7.RELEASE @ line 74, column 17 
[WARNING] 'dependencies.dependency.(groupId:artifactId:type:classifier)' must be unique: com.fasterxml.jackson.core:jackson-databind:jar -> version 2.8.8 vs 2.8.3 @ line 157, column 15 
[WARNING] 'dependencies.dependency.(groupId:artifactId:type:classifier)' must be unique: javax.servlet:servlet-api:jar -> version ${servlet-api-version} vs 2.5 @ line 254, column 15 
[WARNING] 'dependencies.dependency.(groupId:artifactId:type:classifier)' must be unique: org.springframework:spring-context:jar -> version ${org.springframework-version} vs 3.0.5.RELEASE @ line 271, column 14 
[WARNING] 
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build. 
[WARNING] 
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects. 
[WARNING] 
[INFO]                   
[INFO] ------------------------------------------------------------------------ 
[INFO] Building E-School 1.0.0-BUILD-SNAPSHOT 
[INFO] ------------------------------------------------------------------------ 
[INFO] 
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ eschool --- 
[INFO] Deleting C:UsersPiotrDesktopE-School	arget 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD SUCCESS 
[INFO] ------------------------------------------------------------------------ 

有誰知道我應該怎麼做它,使休眠工作? 在大綱樹中我的函數GetHibernateProperites()被標記爲紅色

沙发
0
0

您是否在您的maven依賴中包含了spring-context?我認爲你錯過了依賴。

+0

我做到了。但仍然不起作用。 –

+0

我可以看到你的pom文件嗎?你正在使用mvn clean install命令嗎? –

+0

http://www.wklejto.pl/310782 –

0
votes
answers
68 views
+10

如何從Maven的設定值泊塢撰寫文件

0

我有泊塢撰寫下面的信息 映像文件:$ {DOCKER_REGISTRY}/MDM-elasticsearch:$ {SEARCH_IMAGE_VERSION}如何從Maven的設定值泊塢撰寫文件

我想設置與價值SEARCH_IMAGE_VERSION POM或從命令 mvn clean install -D {內部版本號}

沙发
0
0

您必須配置Resources to have filtering set to true幷包含您的文件。例如,如果您的碼頭工人撰寫文件位於src/main/docker/docker-compose.yml,你可以有以下配置在你的pom.xml:

<project> 
    ... 
    <build> 
    ... 
    <resources> 
     <resource> 
     <directory>src/main/docker</directory> 
     <filtering>true</filtering> 
     </resource> 
     ... 
    </resources> 
    ... 
    </build> 
    ... 
</project> 

然後,您可以直接在你的POM中指定下的參數properties

<project> 
    ... 
    <properties> 
    <DOCKER_REGISTRY>...</DOCKER_REGISTRY> 
    <SEARCH_IMAGE_VERSION>...</SEARCH_IMAGE_VERSION> 
    </properties> 
    ... 
</project> 

或者直接在命令行上:

mvn clean install -DDOCKER_REGISTRY=... -DSEARCH_IMAGE_VERSION=... 

當您運行mvn命令每一個變量來表示與${...}將被過濾並替換爲在pom或命令行中配置的值。默認情況下,輸出文件將在target/classes/docker-compose.yml

複製如果要指定其他輸出目錄,你應該配置一個Resources Plugin執行和指定outputDirectory如:

 <plugin> 
     <artifactId>maven-resources-plugin</artifactId> 
     <version>3.0.2</version> 
     <executions> 
      <execution> 
      <id>copy-docker-compose</id> 
      <phase>validate</phase> 
      <goals> 
       <goal>copy-resources</goal> 
      </goals> 
      <configuration> 
       <outputDirectory>${basedir}/target/docker</outputDirectory> 
       <resources>   
       <resource> 
        <directory>src/main/docker</directory> 
        <filtering>true</filtering> 
       </resource> 
       </resources>    
      </configuration>    
      </execution> 
     </executions> 
     </plugin> 

注意,將在每一個過濾文件配置的目錄。如果您只需要過濾某些文件,請使用include and exclude parameters

0
votes
answers
41 views
+10

Generating Karaf Bundle

0

我有一個hello world opendaylight應用程序(在教程後創建),它使用mvn clean install進行編譯,並且在運行也生成的karaf包時出現。Generating Karaf Bundle

但是我不能讓它在另一個ODL運行安裝(下載從網站上的所有其他包二進制),並在無法安裝包,甚至使用

bundle:install mvn:org.andrew.test 

結果(試複製到部署和system/org/andrew ....)

如何獲得可用於其他安裝的軟件包?

沙发
0
0

爲什麼要bundle:install而不是feature:install

大多數現有的ODL項目爲您做了什麼,以及example generated by the archetype還應該告訴您如何爲您的自定義org.andrew.test之一(您是否使用了原型?嘗試它..)是有一個本地karaf/artifact正確依賴於您示例的features/odl-something特性,並允許您安裝它,它將安裝您的bundle。

從理論上說,如果你真的知道自己在做什麼,你也可以在你的問題中使用它來「在另一個安裝」中工作,但是大多數人不會像這樣使用它。至少在ODL發展中);所以我不會打擾,如果我是你。

如果您想在OpenDaylight之外瞭解更多關於此的信息,general Karaf documentation manual並不差。請注意,在ODL中我們已經調整了一些東西;例如,我們(有意)禁止從?/ .m2/repository直接安裝(爲了更好的隔離)。

0
votes
answers
43 views
+10

在pom.xml旁邊有build.gradle

0

我有一個java maven項目,現在我轉換爲gradle,因爲我必須編寫一些cutom構建腳本。在pom.xml旁邊有build.gradle

我想知道如果我仍然需要保持pom.xml。我是否需要將我的依賴關係添加到pom.xml,或者我應該擺脫pom.xml並將它們添加到build.gradle? Gradle是否替換Maven?

+0

您將整個項目從Maven轉換爲Gradle,現在想知道Gradle是否替換Maven?如果你還需要一個pom,那麼這種轉換的意義何在?如果真的需要問這個問題,爲什麼不嘗試刪除pom文件? –

+0

eclipse爲什麼在將maven轉換爲gradle項目時不會刪除'pom.xml'?重點是什麼 ? –

+0

啊,所以你沒有任何轉換。 Eclipse爲你做了。它可能會保留它,因爲你可能仍然需要它。或者因爲它無法將你的所有Maven構建轉換爲Gradle。 –

沙发
0
1

Gradle和Maven是兩種不同的構建系統。他們是相同的,但有一些differences.但是,如果你將你的maven項目轉換爲gradle,那麼你的pom.xml從現在開始是沒用的。您可以使用Gradle的孵化功能輕鬆地將您的Maven項目轉換爲Gradle,該命令爲gradle init --type pom。然後你的腳本將被添加到build.gradle文件中。這仍然是一個incubating功能。你也可以從stract做到。我建議您閱讀以下內容document.

0
votes
answers
77 views
+10

如何在maven中捆綁第三方jar?

1

我想使用maven bundle插件將tibjms.jar和javax.jms-api-2.0.jar捆綁到一個包中。由於tibjms.jar不是在Maven回購我第一次把它添加到我的本地回購:如何在maven中捆綁第三方jar?

mvn install:install-file -Dfile=/home/riyafa/Documents/Workspace/Support/NNINSURANCESUB-17/tibco/libs/jms-2.0.jar -DgroupId=com.tibco -DartifactId=tibjms -Dversion=4.4.0 -Dpackaging=jar -DgeneratePom=false 

然後,我創建了以下POM文件,並建立了它:

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 

    <groupId>org.riyafa</groupId> 
    <artifactId>tibco</artifactId> 
    <packaging>bundle</packaging> 
    <version>1</version> 

    <dependencies> 
     <dependency> 
      <groupId>com.tibco</groupId> 
      <artifactId>tibjms</artifactId> 
      <version>4.4.0</version> 
      <type>jar</type> 
     </dependency> 

     <dependency> 
      <groupId>javax.jms</groupId> 
      <artifactId>javax.jms-api</artifactId> 
      <version>2.0</version> 
     </dependency> 
    </dependencies> 

    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.felix</groupId> 
       <artifactId>maven-bundle-plugin</artifactId> 
       <version>3.3.0</version> 
       <extensions>true</extensions> 
       <configuration> 
        <instructions> 
         <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName> 
         <Bundle-Name>${project.artifactId}</Bundle-Name> 
         <Export-Package> 
          com.tibco.tibjms.*, 
          com.tibco.tibjms.naming.*, 
          com.tibco.tibjms.naming.tibjmsnaming.*, 
         </Export-Package> 
         <Import-Package> 
          *, 
          !javax.jms.*, 
         </Import-Package> 

         <Embed-Dependency> 
          javax.jms-api;scope=compile|runtime;inline=false; 
         </Embed-Dependency> 
        </instructions> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 
</project> 

構建成功,但我只看到生成的jar中的javax.jms-api-2.0.jar: enter image description here

我想捆綁兩個罐子。當其中一個罐子是一個thirparty罐子時,我怎麼能做到這一點?我也嘗試添加jar到pom文件作爲外部庫,它不起作用。

沙发
0
1

難道你沒有忘記爲tibjms添加EmbedDependency?您還可以嵌入所有的編譯和運行時depenedencies:

<Embed-Dependency>*;scope=compile|runtime;inline=false</Embed-Dependency> 

請注意,javax.jms-api已經打包成捆。如果tibco工件的唯一用途是將tibjmsjms-api捆綁在一起,則可以考慮完全跳過它,而是將tibjms作爲捆綁包進行打包。然後,您可以將tibjmsjms-api作爲單獨的捆綁包進行部署。

+0

謝謝!我希望它們在單個包中,因爲我希望由jms-api公開的方法僅對tibjms.jar可見,因爲它與另一個jar衝突。 –

+0

關於能見度的好處! – gjoranv