     ;; do not merge files that are already present from a different source path
     (when-let [existing (get-in state [:sources name])]
       (not (is-same-resource? src existing)))
-    (do (log state
-          {:type :duplicate-resource
-           :name name
-           :path-use (get-in state [:sources name :source-path])
-           :path-ignore (:source-path src)})
+
+    (do (when (not (and (not (get-in state [:sources name :from-jar]))
+                        (:from-jar src)))
+          ;; don't complain if we have a file from the fs and the conflict is from the jar
+          ;; assume thats an intentional override
+          (log state
+            {:type :duplicate-resource
+             :name name
+             :path-use (get-in state [:sources name :source-path])
+             :path-ignore (:source-path src)}))
         state)
 
     ;; now we need to handle conflicts for cljc/cljs files

        :elide-asserts false

        :closure-warnings
        {:check-types :off}}

       :closure-defines
       {"goog.DEBUG" false

  [state]
  (cond-> state
    (nil? (:compiler-env state))
    (assoc :compiler-env @(env/default-compiler-env (:compiler-options state)))))

(defn finalize-config
  "should be called AFTER all resources have been discovered (ie. after find-resources...)"
