title: Some dependency <artifactId> items not found by Maven in a new Vaadin 14.0.4 project
body: <p>When using the <a href="https://vaadin.com/start/latest" rel="nofollow noreferrer">Vaadin Start page</a> to download a new Maven-based project, using the "Plain Java Servlet" option, for <a href="https://en.wikipedia.org/wiki/Vaadin" rel="nofollow noreferrer">Vaadin</a> 14.0.4, I can successfully open the project and run it. </p>
  
  <p>Yet when I look at the <a href="https://en.wikipedia.org/wiki/Apache_Maven#Project_Object_Model" rel="nofollow noreferrer">POM</a>, I find several errors inside the <code>&lt;profiles&gt;</code> element. For each of these elements colored in red text in my IntelliJ 2019.2.2 editor, I get an error saying “Dependency … not found”:</p>
  
  <pre class="lang-xml prettyprint-override"><code>&lt;artifactId&gt;flow-server-production-mode&lt;/artifactId&gt;
  
  &lt;artifactId&gt;maven-failsafe-plugin&lt;/artifactId&gt;
  
  &lt;groupId&gt;com.lazerycode.selenium&lt;/groupId&gt;
  &lt;artifactId&gt;driver-binary-downloader-maven-plugin&lt;/artifactId&gt;
  </code></pre>
  
  <p>For this element, I get an error saying “Cannot resolve symbol: webdriver.chrome.driver”. </p>
  
  <pre class="lang-xml prettyprint-override"><code>&lt;webdriver.chrome.driver&gt;${webdriver.chrome.driver}&lt;/webdriver.chrome.driver&gt;
  </code></pre>
  
  <p>I suppose my new project is working because I am running it in the default develop-mode without using the profiles whose definitions have these POM errors. But eventually I will want to run tests or deploy in production mode, and will need to use these profiles.</p>
  
  <p>➥ What should I be doing to correct these POM errors?</p>
  
  <p>Here is the POM created by default, untouched by me.</p>
  
  <pre class="lang-xml prettyprint-override"><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;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"&gt;
      &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;
      &lt;groupId&gt;work.basil.ticktock&lt;/groupId&gt;
      &lt;artifactId&gt;ticktock&lt;/artifactId&gt;
      &lt;name&gt;ticktock&lt;/name&gt;
      &lt;version&gt;1.0-SNAPSHOT&lt;/version&gt;
      &lt;packaging&gt;war&lt;/packaging&gt;
  
      &lt;properties&gt;
          &lt;maven.compiler.source&gt;1.8&lt;/maven.compiler.source&gt;
          &lt;maven.compiler.target&gt;1.8&lt;/maven.compiler.target&gt;
          &lt;project.build.sourceEncoding&gt;UTF-8&lt;/project.build.sourceEncoding&gt;
          &lt;project.reporting.outputEncoding&gt;UTF-8&lt;/project.reporting.outputEncoding&gt;
          &lt;failOnMissingWebXml&gt;false&lt;/failOnMissingWebXml&gt;
  
          &lt;vaadin.version&gt;14.0.4&lt;/vaadin.version&gt;
  
          &lt;drivers.downloader.phase&gt;pre-integration-test&lt;/drivers.downloader.phase&gt;
      &lt;/properties&gt;
  
      &lt;repositories&gt;
          &lt;!-- Repository used by many Vaadin add-ons --&gt;
          &lt;repository&gt;
               &lt;id&gt;Vaadin Directory&lt;/id&gt;
               &lt;url&gt;https://maven.vaadin.com/vaadin-addons&lt;/url&gt;
              &lt;snapshots&gt;&lt;enabled&gt;false&lt;/enabled&gt;&lt;/snapshots&gt;
          &lt;/repository&gt;
      &lt;/repositories&gt;
  
      &lt;dependencyManagement&gt;
          &lt;dependencies&gt;
              &lt;dependency&gt;
                  &lt;groupId&gt;com.vaadin&lt;/groupId&gt;
                  &lt;artifactId&gt;vaadin-bom&lt;/artifactId&gt;
                  &lt;type&gt;pom&lt;/type&gt;
                  &lt;scope&gt;import&lt;/scope&gt;
                  &lt;version&gt;${vaadin.version}&lt;/version&gt;
              &lt;/dependency&gt;
          &lt;/dependencies&gt;
      &lt;/dependencyManagement&gt;
  
      &lt;dependencies&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;com.vaadin&lt;/groupId&gt;
              &lt;!-- Replace artifactId with vaadin-core to use only free components --&gt;
              &lt;artifactId&gt;vaadin&lt;/artifactId&gt;
              &lt;exclusions&gt;
                  &lt;!-- Webjars are only needed when running in Vaadin 13 compatibility mode --&gt;
                  &lt;exclusion&gt;
                      &lt;groupId&gt;com.vaadin.webjar&lt;/groupId&gt;
                      &lt;artifactId&gt;*&lt;/artifactId&gt;
                  &lt;/exclusion&gt;
                  &lt;exclusion&gt;
                      &lt;groupId&gt;org.webjars.bowergithub.insites&lt;/groupId&gt;
                      &lt;artifactId&gt;*&lt;/artifactId&gt;
                  &lt;/exclusion&gt;
                  &lt;exclusion&gt;
                      &lt;groupId&gt;org.webjars.bowergithub.polymer&lt;/groupId&gt;
                      &lt;artifactId&gt;*&lt;/artifactId&gt;
                  &lt;/exclusion&gt;
                  &lt;exclusion&gt;
                      &lt;groupId&gt;org.webjars.bowergithub.polymerelements&lt;/groupId&gt;
                      &lt;artifactId&gt;*&lt;/artifactId&gt;
                  &lt;/exclusion&gt;
                  &lt;exclusion&gt;
                      &lt;groupId&gt;org.webjars.bowergithub.vaadin&lt;/groupId&gt;
                      &lt;artifactId&gt;*&lt;/artifactId&gt;
                  &lt;/exclusion&gt;
                  &lt;exclusion&gt;
                      &lt;groupId&gt;org.webjars.bowergithub.webcomponents&lt;/groupId&gt;
                      &lt;artifactId&gt;*&lt;/artifactId&gt;
                  &lt;/exclusion&gt;
              &lt;/exclusions&gt;
          &lt;/dependency&gt;
  
          &lt;!-- Added to provide logging output as Vaadin uses --&gt;
          &lt;!-- the unbound SLF4J no-operation (NOP) logger implementation --&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.slf4j&lt;/groupId&gt;
              &lt;artifactId&gt;slf4j-simple&lt;/artifactId&gt;
          &lt;/dependency&gt;
  
          &lt;dependency&gt;
              &lt;groupId&gt;javax.servlet&lt;/groupId&gt;
              &lt;artifactId&gt;javax.servlet-api&lt;/artifactId&gt;
              &lt;version&gt;3.1.0&lt;/version&gt;
              &lt;scope&gt;provided&lt;/scope&gt;
          &lt;/dependency&gt;
  
          &lt;dependency&gt;
              &lt;groupId&gt;com.vaadin&lt;/groupId&gt;
              &lt;artifactId&gt;vaadin-testbench&lt;/artifactId&gt;
              &lt;scope&gt;test&lt;/scope&gt;
          &lt;/dependency&gt;
      &lt;/dependencies&gt;
  
      &lt;build&gt;
          &lt;defaultGoal&gt;jetty:run&lt;/defaultGoal&gt;
          &lt;plugins&gt;
              &lt;plugin&gt;
                  &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
                  &lt;artifactId&gt;maven-compiler-plugin&lt;/artifactId&gt;
                  &lt;version&gt;3.8.0&lt;/version&gt;
              &lt;/plugin&gt;
              &lt;!-- Jetty plugin for easy testing without a server --&gt;
              &lt;plugin&gt;
                  &lt;groupId&gt;org.eclipse.jetty&lt;/groupId&gt;
                  &lt;artifactId&gt;jetty-maven-plugin&lt;/artifactId&gt;
                  &lt;version&gt;9.4.19.v20190610&lt;/version&gt;
                  &lt;configuration&gt;
                      &lt;!-- If using IntelliJ IDEA with autocompilation, this
                      might cause lots of unnecessary compilations in the
                      background.--&gt;
                      &lt;scanIntervalSeconds&gt;2&lt;/scanIntervalSeconds&gt;
                      &lt;!-- Use war output directory to get the webpack files --&gt;
                      &lt;webAppConfig&gt;
                          &lt;allowDuplicateFragmentNames&gt;true&lt;/allowDuplicateFragmentNames&gt;
                      &lt;/webAppConfig&gt;
                  &lt;/configuration&gt;
              &lt;/plugin&gt;
  
              &lt;!--
                  Take care of synchronizing java dependencies and imports in
                  package.json and main.js files.
                  It also creates webpack.config.js if not exists yet.
              --&gt;
              &lt;plugin&gt;
                  &lt;groupId&gt;com.vaadin&lt;/groupId&gt;
                  &lt;artifactId&gt;vaadin-maven-plugin&lt;/artifactId&gt;
                  &lt;version&gt;${vaadin.version}&lt;/version&gt;
                  &lt;executions&gt;
                      &lt;execution&gt;
                          &lt;goals&gt;
                              &lt;goal&gt;prepare-frontend&lt;/goal&gt;
                          &lt;/goals&gt;
                      &lt;/execution&gt;
                  &lt;/executions&gt;
              &lt;/plugin&gt;
          &lt;/plugins&gt;
      &lt;/build&gt;
  
      &lt;profiles&gt;
          &lt;profile&gt;
              &lt;!-- Production mode is activated using -Pproduction --&gt;
              &lt;id&gt;production&lt;/id&gt;
              &lt;properties&gt;
                  &lt;vaadin.productionMode&gt;true&lt;/vaadin.productionMode&gt;
              &lt;/properties&gt;
  
              &lt;dependencies&gt;
                  &lt;dependency&gt;
                      &lt;groupId&gt;com.vaadin&lt;/groupId&gt;
                      &lt;artifactId&gt;flow-server-production-mode&lt;/artifactId&gt;
                  &lt;/dependency&gt;
              &lt;/dependencies&gt;
  
              &lt;build&gt;
                  &lt;plugins&gt;
                      &lt;plugin&gt;
                          &lt;groupId&gt;com.vaadin&lt;/groupId&gt;
                          &lt;artifactId&gt;vaadin-maven-plugin&lt;/artifactId&gt;
                          &lt;executions&gt;
                              &lt;execution&gt;
                                  &lt;goals&gt;
                                      &lt;goal&gt;build-frontend&lt;/goal&gt;
                                  &lt;/goals&gt;
                                  &lt;phase&gt;compile&lt;/phase&gt;
                              &lt;/execution&gt;
                          &lt;/executions&gt;
                      &lt;/plugin&gt;
                  &lt;/plugins&gt;
              &lt;/build&gt;
          &lt;/profile&gt;
  
          &lt;profile&gt;
              &lt;id&gt;integration-tests&lt;/id&gt;
              &lt;build&gt;
                  &lt;plugins&gt;
                      &lt;plugin&gt;
                          &lt;groupId&gt;org.eclipse.jetty&lt;/groupId&gt;
                          &lt;artifactId&gt;jetty-maven-plugin&lt;/artifactId&gt;
                          &lt;version&gt;9.4.15.v20190215&lt;/version&gt;
                          &lt;configuration&gt;
                              &lt;scanIntervalSeconds&gt;0&lt;/scanIntervalSeconds&gt;
                              &lt;stopPort&gt;8081&lt;/stopPort&gt;
                              &lt;stopWait&gt;5&lt;/stopWait&gt;
                              &lt;stopKey&gt;${project.artifactId}&lt;/stopKey&gt;
                          &lt;/configuration&gt;
                          &lt;executions&gt;
                              &lt;execution&gt;
                                  &lt;id&gt;start-jetty&lt;/id&gt;
                                  &lt;phase&gt;pre-integration-test&lt;/phase&gt;
                                  &lt;goals&gt;
                                      &lt;goal&gt;deploy-war&lt;/goal&gt;
                                  &lt;/goals&gt;
                              &lt;/execution&gt;
                              &lt;execution&gt;
                                  &lt;id&gt;stop-jetty&lt;/id&gt;
                                  &lt;phase&gt;post-integration-test&lt;/phase&gt;
                                  &lt;goals&gt;
                                      &lt;goal&gt;stop&lt;/goal&gt;
                                  &lt;/goals&gt;
                              &lt;/execution&gt;
                          &lt;/executions&gt;
                      &lt;/plugin&gt;
  
                      &lt;!-- Runs the integration tests (*IT) after the server is started --&gt;
                      &lt;plugin&gt;
                          &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
                          &lt;artifactId&gt;maven-failsafe-plugin&lt;/artifactId&gt;
                          &lt;version&gt;2.22.2&lt;/version&gt;
                          &lt;executions&gt;
                              &lt;execution&gt;
                                  &lt;goals&gt;
                                      &lt;goal&gt;integration-test&lt;/goal&gt;
                                      &lt;goal&gt;verify&lt;/goal&gt;
                                  &lt;/goals&gt;
                              &lt;/execution&gt;
                          &lt;/executions&gt;
                          &lt;configuration&gt;
                              &lt;trimStackTrace&gt;false&lt;/trimStackTrace&gt;
                              &lt;enableAssertions&gt;true&lt;/enableAssertions&gt;
                              &lt;systemPropertyVariables&gt;
                                  &lt;!-- Pass location of downloaded webdrivers to the tests --&gt;
                                  &lt;webdriver.chrome.driver&gt;${webdriver.chrome.driver}&lt;/webdriver.chrome.driver&gt;
                              &lt;/systemPropertyVariables&gt;
                          &lt;/configuration&gt;
                      &lt;/plugin&gt;
  
                      &lt;plugin&gt;
                          &lt;groupId&gt;com.lazerycode.selenium&lt;/groupId&gt;
                          &lt;artifactId&gt;driver-binary-downloader-maven-plugin&lt;/artifactId&gt;
                          &lt;version&gt;1.0.17&lt;/version&gt;
                          &lt;configuration&gt;
                              &lt;onlyGetDriversForHostOperatingSystem&gt;true
                              &lt;/onlyGetDriversForHostOperatingSystem&gt;
                              &lt;rootStandaloneServerDirectory&gt;
                                  ${project.basedir}/drivers/driver
                              &lt;/rootStandaloneServerDirectory&gt;
                              &lt;downloadedZipFileDirectory&gt;
                                  ${project.basedir}/drivers/driver_zips
                              &lt;/downloadedZipFileDirectory&gt;
                              &lt;customRepositoryMap&gt;
                                  ${project.basedir}/drivers.xml
                              &lt;/customRepositoryMap&gt;
                          &lt;/configuration&gt;
                          &lt;executions&gt;
                              &lt;execution&gt;
                                  &lt;!-- use phase "none" to skip download step --&gt;
                                  &lt;phase&gt;${drivers.downloader.phase}&lt;/phase&gt;
                                  &lt;goals&gt;
                                      &lt;goal&gt;selenium&lt;/goal&gt;
                                  &lt;/goals&gt;
                              &lt;/execution&gt;
                          &lt;/executions&gt;
                      &lt;/plugin&gt;
                  &lt;/plugins&gt;
              &lt;/build&gt;
          &lt;/profile&gt;
      &lt;/profiles&gt;
  &lt;/project&gt;
  </code></pre>